杰克逊:(de)序列化多种不同方式

时间:2016-11-30 21:11:50

标签: java json serialization jackson

我有一个与后端服务器和前端客户端通信的服务。后端应用程序期望采用一种格式的JSON,而前端应用程序则期望采用不同的格式。

如果我尝试使用@JsonProperty,我最终会遇到Jackson无法从客户端反序列化数据的情况,或者因为注释不匹配而无法将数据序列化到服务中。例如:我需要这个来正确地将我的JSON发送到后端服务器:

   @JsonProperty("createDate")
   public void setCreationDate(Date creationDate) {
      this.creationDate = creationDate;
   }

但是,这无法反序列化来自客户端的JSON。如果我删除@JsonProperty,则结果保留。

有关如何解决此问题的任何建议?我想我有以下选择:

  1. 为前端和后端使用不同的型号。
  2. 也许使用不同的ObjectMapper实例?
  3. 以某种方式使用@JsonView?
  4. 自定义序列化程序?
  5. JSON Schema?
  6. 任何指针?

    谢谢!

    编辑:

    我不认为它是重复的,因为我需要根据JSON来自或去的地方使用不同的名称。它的上下文而不是一个全局重命名,它就像@JsonProperty所擅长的那样。

0 个答案:

没有答案