我正在尝试使用一个属性对类 MyRootClass 进行 json 序列化,该属性是第二类 MyClass 的元素集合:
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"}} ] }
有没有办法使用杰克逊来实现它?我考虑过编写一个自定义序列化程序,但我没有找到与对象集合相关的任何内容。