我使用JSON傑克遜庫,我的POJO轉換成JSON:序列化嵌套對象JSON傑克遜
public class A {
public String name;
public B b;
}
public class B {
public Object representation;
public String bar;
}
我想序列的A
一個實例爲JSON。我將使用ObjectMapper
類從Jackson:
objectMapperPropertiesBuilder.setSerializationFeature(SerializationFeature.WRAP_ROOT_VALUE);
objectMapperPropertiesBuilder.setAnnotationIntrospector(new CustomAnnotionIntrospector());
這裏註釋內省挑選根元素,因爲所有這些都是JAXB類與註釋像@XmlRootElement
和@XmlType
:
例如:如果我在Object
設置代表:
public class C {
public BigInteger ste;
public String cr;
}
使用此代碼,我的JSON將如下所示:
rootA: {
"name": "MyExample",
"b": {
"rep": {
"ste": 7,
"cr": "C1"
},
"bar": "something"
}
}
但我想根元素追加到我的嵌套Object
太。對象可以是任何自定義的POJO。
所以在這種情況下,我想在我的JSON轉換中附加類C
的根元素。所以:
rootA: {
"name": "MyExample",
"b": {
"rep": {
"rootC": {
"ste": 7,
"cr": "C1"
}
},
"bar": "something"
}
}
如何在JSON轉換中添加嵌套對象的根元素?我指定的所有objectMapper
屬性將適用於class A
。我是否必須編寫自定義序列化程序以將某些屬性應用於嵌套對象?
請注意,您在問題中提供的JSON無效。你可以驗證他們[這裏](http://jsonlint.com/)。 –