我正在使用Jackson序列化id对象。对象具有id的一个字段。目前,代码在字段上使用@JsonProperty进行序列化。序列化如下所示:
“myId”:{ “id”:“12345” }
我想在getter上使用@JsonValue,以便将来的序列化看起来像:
“myId”:“12345”
我需要向后兼容已经序列化的对象。我是否需要使用自定义反序列化器,或者是否有基于注释的策略来实现此目的?
非常感谢任何建议。
答案 0 :(得分:1)
可以创建可以从JSON Object和JSON Scalar反序列化的POJO。例如:
public class Id {
@JsonProperty String id;
@JsonCreator
public Id(String id) {
this.id = id;
}
}
对于序列化,你可以选择as-object(只是getter),或as-String,后者使用@JsonValue
。