Я использую сопоставитель XML Джексона для десериализации XML в POJO. XML выглядит так
<person>
<agency>
<phone>111-111-1111</phone>
</agency>
</person>
И мой класс выглядит так
class Person
{
@JacksonXmlProperty(localName="agency", namespace="namespace")
private Agency agency;
//getter and setter
}
class Agency
{
@JacksonXmlElementWrapper(useWrapping = false)
@JacksonXmlProperty(localName="phone", namespace="namespace")
private List<AgencyPhone> phones;
//getter and setter
}
class AgencyPhone
{
private Phone phone;
//getter and setter
}
class Phone
{
private String number;
//getter and setter
}
Я хочу установить номер телефона на номер в классе «Телефон». Я не могу изменить XML или структуру класса. Я получаю сообщение об ошибке Невозможно построить экземпляр ошибки resolved.agency.AgencyPhone
и создал конструктор AgencyPhone.
class AgencyPhone{
{
private Phone phone;
public AgencyPhone(Phone phone)
{
this.phone = phone;
}
}
Но это не сработало. Итак, как десериализовать во вложенные экземпляры.