Java Jackson:对于包含子对象作为字段的多个对象,如何包含子对象的不同属性

Java Jackson:对于包含子对象作为字段的多个对象,如何包含子对象的不同属性,java,jackson,Java,Jackson,我有两个类,它们都封装了同一个类,例如: class A1 { private Child child; } class B1 { private Child child; } class Child { private String a; private String b; } 序列化类A1时,是否可以将jackson配置为仅序列化类子级中的属性“a”,序列化类B1时,将属性“b”配置为仅序列化类子级 e、 g: 序列化A1时所需的输出: { "child": {

我有两个类,它们都封装了同一个类,例如:

class A1 {
  private Child child;
}

class B1 {
  private Child child;
}

class Child {
  private String a;
  private String b;
}
序列化类A1时,是否可以将jackson配置为仅序列化类子级中的属性“a”,序列化类B1时,将属性“b”配置为仅序列化类子级 e、 g:

序列化A1时所需的输出:

{
   "child": {
     "a": "a",
   }
}
序列化B1时所需的输出:

{
   "child": {
     "b": "b",
   }
}

谢谢你的时间和帮助

使用扩展StdSerializer的自定义序列化实现可以做到这一点

调用序列化程序时,必须指定要序列化的参数

{
   "child": {
     "b": "b",
   }
}