Скажем, у меня есть объект Json:
{
"name": "Bob Dole",
"company": "Bob Dole Industries",
"phone": {
"work": "123-456-7890",
"home": "234-567-8901",
"mobile": "345-678-9012"
}
}
И чтобы помочь мне прочитать его, я использую Jackson Object Mapper со следующим классом:
public class Contact {
public static class Phone {
private String work;
private String home;
private String mobile;
public String getWork() { return work; }
public String getHome() { return home; }
public String getMobile() { return mobile; }
public void setWork(String s) { work = s; }
public void setHome(String s) { home = s; }
public void setMobile(String s) { mobile = s; }
}
private String name;
private String company;
private Phone phone;
public String getName() { return name; }
public String getCompany() { return company; }
public Phone getPhone() { return phone; }
public void setName(String s) { name = s; }
public void setCompany(String s) { company = s; }
public void setPhone(Phone p) { phone = p; }
}
Мой вопрос в том, как (используя простейшее объяснение), отображает ли объект "десериализует" объект Json? Я думал, что это совпадающие имена переменных, но изменение их на несколько букв не повлияло на вывод. Затем я попытался переключить порядок функций set(), но ничего не сделал. Я также пробовал оба, но это тоже бесполезно. Я предполагаю, что здесь есть что-то более сложное, но что?
Я попытался посмотреть в документации и прошлом коде, но я не видел объяснений, которые имели смысл для меня.