Java 如何从具有不同字段的同一类创建两个json文件

Java 如何从具有不同字段的同一类创建两个json文件,java,json,jackson,jaxb,Java,Json,Jackson,Jaxb,在我的应用程序中,我需要从同一个对象创建两个json文件(对象包含输入+输出字段) Json文件-1:这个Json文件应该只包含输入字段。 Json文件-2:这个Json文件应该包含很少的输入字段和所有的输出字段 让我用一个小例子来解释 下面是我想要从中生成两个json文件的类 Class AreaDTO { String id; String name; String streetName; Street output; } 要创建json文件的对象,我当前正在使用jackson,

在我的应用程序中,我需要从同一个对象创建两个json文件(对象包含输入+输出字段) Json文件-1:这个Json文件应该只包含输入字段。 Json文件-2:这个Json文件应该包含很少的输入字段和所有的输出字段

让我用一个小例子来解释

下面是我想要从中生成两个json文件的类

Class AreaDTO {
 String id;
 String name;
 String streetName;
 Street output;
}
要创建json文件的对象,我当前正在使用jackson, 如何通过jackson实现我的上述要求,或者有其他方法实现吗?

您可以在类级别使用@JsonInclude(Include.NON_NULL)注释。然后将不需要的字段设置为null。然后Jackson将忽略空字段

请查收

还有一个选项是使用自定义JSON过滤器。仅当字段满足特定的自定义条件时,才使用Jackson序列化字段


请检查

我的对象一次包含所有值,我不能将它们设为null,因为它同时被其他进程使用。您可以使用custom@JsonFilter并相应地定义自定义逻辑。
json file 1     |   json file 2
{               |   {
  id            |       id
  name          |       name
  streetName    |       output
}              |    }