Инструменты:
Веблогик 12c
Джерси 2.21.1
Джексон 2
public class Profile implements Serializable
{
private List<Status> orderStatus;
public void setOrderStatus(List<Status> orderStatus)
{
this.orderStatus = orderStatus;
}
public void getOrderStatus()
{
return orderStatus;
}
У меня есть простой класс POJO, как указано выше. Я столкнулся с проблемой ниже при использовании Jersey 2 with Jackson
.
1) Когда класс Profile сериализуется, JSON создается как: {"OrderStatus":[{}]}
2) Таким образом, сгенерированный ключ OrderStatus
, а не orderStatus
3) Когда этот JSON десериализуется, он выдает ошибку -
Caused by: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "OrderStatus" since it cannot
find field with OrderStatus but has field as orderStatus
I have tried adding :
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY,getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
надеясь, что сериализация будет использовать только поля в качестве ключа (и не будет использовать свойство), а JSON будет сгенерирован как {"orderStatus":[{}]} .
Но он не работает и выдает ту же ошибку. Есть ли способ сериализовать POJO с ключом как с полями, а не со свойствами.
Кто-нибудь может помочь здесь?