我正在使用Jackson序列化ID对象。这些对象具有一个id字段。当前,代码在该字段上使用@JsonProperty进行序列化。序列化如下所示:
“我的身份” : {
“ id”:“ 12345”
}
我想在getter上使用@JsonValue,以便将来的序列化如下所示:
“ myId”:“ 12345”
我需要它与已经序列化的对象向后兼容。我是否需要使用自定义解串器,或者是否有基于注释的策略可以完成此任务?
任何建议将不胜感激。
最佳答案
可以创建可以从JSON对象和JSON标量反序列化的POJO。例如:
public class Id {
@JsonProperty String id;
@JsonCreator
public Id(String id) {
this.id = id;
}
}
至于序列化,您可以选择as-object(仅是getter),也可以选择as-String,后者使用
@JsonValue
。