簡體   English   中英

Jackson:如何為包含該子對象作為字段的多個對象包含子對象的不同屬性

[英]Jackson: How can I include different properties of a child object for multiple objects which contain that child object as a field

我有兩個類都封裝了同一個類,例如:

class A1 {
  private Child child;
}

class B1 {
  private Child child;
}

class Child {
  private String a;
  private String b;
}

是否可以將 jackson 配置為在序列化類 A1 時僅序列化類 Child 中的屬性 'a' 和序列化類 B1 時序列化類 Child 中的屬性 'b',例如:

Child child = new Child();
child.setA("a");
child.setB("b");

A1 a1 = new A1();
a1.setChild(child);
B1 b1 = new B1();
b1.setChild(child);

序列化 A1 時所需的輸出:

{
   "child": {
     "a": "a",
   }
}

序列化 B1 時所需的輸出:

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

感謝您的時間和幫助!

使用擴展StdSerializer的自定義序列化實現可以做到這一點。

您必須在調用序列化程序時指定要序列化的參數。

https://www.baeldung.com/jackson-object-mapper-tutorial

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM