Инструменты:
Weblogic 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) При сериализации класса профиля 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 с ключом как поля, а не свойства.
Кто-нибудь может помочь, пожалуйста?