Tools :
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(当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。
有人可以在这里帮忙吗?
如果要确保名称orderStatus
请使用特定的 JsonProperty :
@JsonProperty("orderStatus")
public void getOrderStatus()
@JsonProperty(也指示要包含属性(用于指示外部属性名称