0

美好时光!

假设有这样一个类:

public class Individual {

   @JsonProperty("passport")
   private Passport passport;

   // getters ans setters
}

有两个用例。首先,当收入/传出 json 必须是短格式时:

{
   individual:{
       passport:'123456789'  <-- this is the indentifier
   }
}

第二 - 扩展格式:

{
   individual:{
       passport:{
             series:'1234',
             number:'1234'
      }
   }
}

为了处理这种情况,可以创建 2 个类,例如 IndividualShIndividualExt并使用注释@JsonSerializer@JsonDeserializer自定义输入/输出。我想尝试其他方法来保留唯一的一个Individual类,因为它有很多字段,其中一半需要自定义。第一个想法是编写几个序列化器/反序列化器和一个工厂,这将使用 javassist 库使用所需的序列化器/反序列化器注释标记问题字段,但它似乎是一种开销。

jlabedo here有一个很好的例子,但我不知道如何在我的情况下使用它。

请建议,如何正确地做。提前致谢。

4

0 回答 0