我正在使用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

10-06 13:13
查看更多