私はJSONに私のPOJOを変換するために、ジャクソンJSONライブラリを使用しています:SerializeをネストされたオブジェクトのJSONジャクソン
public class A {
public String name;
public B b;
}
public class B {
public Object representation;
public String bar;
}
私はJSONへA
のインスタンスをシリアル化します。私はJacksonからObjectMapper
クラスを使用するつもりです:
例:@XmlRootElement
と@XmlType
などの注釈を持つすべてのこれらのあるJAXBクラスとしてルート要素をピックアップイントロスペクタ
objectMapperPropertiesBuilder.setSerializationFeature(SerializationFeature.WRAP_ROOT_VALUE);
objectMapperPropertiesBuilder.setAnnotationIntrospector(new CustomAnnotionIntrospector());
注釈を私はObject
に設定した場合表現:このコードを使用して
public class C {
public BigInteger ste;
public String cr;
}
、私のJSONは次のようになります。
rootA: {
"name": "MyExample",
"b": {
"rep": {
"ste": 7,
"cr": "C1"
},
"bar": "something"
}
}
しかし、ルート要素をネストされたObject
に追加します。 Objectには任意のカスタムPOJOを使用できます。
この場合、JSON変換ではC
クラスのルート要素を追加します。したがって:
rootA: {
"name": "MyExample",
"b": {
"rep": {
"rootC": {
"ste": 7,
"cr": "C1"
}
},
"bar": "something"
}
}
JSON変換でネストされたオブジェクトのルート要素を追加するにはどうすればよいですか?指定したすべてのobjectMapper
プロパティはclass A
に適用されます。ネストされたオブジェクトにいくつかのプロパティを適用するカスタムシリアライザを記述する必要がありますか?
質問に記載されているJSONは無効です。あなたはそれらを[ここ](http://jsonlint.com/)で検証することができます。 –