2番目のクラスMyClassの要素のコレクションであるプロパティを使用してクラスMyRootClassをjsonシリアル化しようとしています。
public class MyRootClass {
private List<MyInterface> list = new ArrayList<MyInterface>();
// getter / setter
}
public class MyClass implements MyInterface {
private String value = "test";
// getter / setter
}
次のコード:
MyRootClass root = new MyRootClass();
root.getList().add(new MyClass());
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(System.out, root);
このJSON出力を生成します:
{"list": [ {"value":"test"} ] }
必要なものの代わりに、コレクション内のすべてのオブジェクトが次の名前でシリアル化されます。
{"list": [ {"myclass": {"value":"test"}} ] }
ジャクソンを使用してそれを達成する方法はありますか?カスタムシリアライザーを作成することを考えましたが、オブジェクトのコレクションに関連するものは見つかりませんでした。