Estoy tratando de JSON-serializar un MyRootClass clase con una propiedad que es una colección de elementos de una segunda clase MyClass:Jackson: Colección de la aduana de serialización de JSON
public class MyRootClass {
private List<MyInterface> list = new ArrayList<MyInterface>();
// getter/setter
}
public class MyClass implements MyInterface {
private String value = "test";
// getter/setter
}
El siguiente código:
MyRootClass root = new MyRootClass();
root.getList().add(new MyClass());
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(System.out, root);
Genera esta salida JSON:
{"list": [ {"value":"test"} ] }
en lugar de lo que necesito, cada objeto en el col lection serializado con un nombre:
{"list": [ {"myclass": {"value":"test"}} ] }
¿Hay alguna forma de lograrlo con Jackson? Pensé en escribir un serializador personalizado, pero no encontré nada relacionado con una colección de objetos.
Gracias. Eso es lo que estaba intentando evitar, porque estoy usando un modelo de clase heredado (no puedo modificarlo), pero necesito obtener ese formato JSON (también una restricción impuesta por un sistema de terceros). –
puede envolver el modelo de clase heredado para fines de serialización. – Bozho