我使用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/)。 –