Java Jackson JSON:动态更改视图

Java Jackson JSON:动态更改视图,java,json,jackson,javassist,Java,Json,Jackson,Javassist,好时间 假设有这样一个类: public class Individual { @JsonProperty("passport") private Passport passport; // getters ans setters } 有两个用例。首先,当收入/支出json必须为短格式时: { individual:{ passport:'123456789' <-- this is the indentifier } } 为了处理这种

好时间

假设有这样一个类:

public class Individual {

   @JsonProperty("passport")
   private Passport passport;

   // getters ans setters
}
有两个用例。首先,当收入/支出json必须为短格式时:

{
   individual:{
       passport:'123456789'  <-- this is the indentifier
   }
}
为了处理这种情况,可以创建两个类,例如,IndividualShIndividualExt,并使用注释
@JsonSerializer
@JsonSerializer
自定义输入/输出。我想尝试其他方法来保留唯一的单个类,因为它有很多字段,其中一半需要定制。第一个想法是编写几个序列化程序/反序列化程序和一个工厂,使用javassist库等工具,用所需的序列化程序/反序列化程序注释标记问题字段,但这似乎是一种开销

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


请,建议,如何正确地做这件事。提前谢谢。

您找到解决方案了吗?你被困在哪一部分?你是否被困在两种不同的方式序列化护照?您是否一直在想如何将复杂的Passport对象序列化为简单的JSON字符串?@Programmer Bruce,我一直在用多种不同的方式序列化嵌套对象。当然,我可以生成父对象的多个克隆并对其进行不同的注释,但我不喜欢这种方式并尝试编写自定义机制。当然,我可以生成父对象的多个克隆并对其进行不同的注释,但我不喜欢这种方式并尝试编写自定义机制。这就是我现在使用javassist的原因,但这似乎是一个巨大的开销。。。
{
   individual:{
       passport:{
             series:'1234',
             number:'1234'
      }
   }
}