sto cercando di JSON-serializzare un MyRootClass classe con una proprietà che è una raccolta di elementi di secondo classe MyClass:Jackson: custom collection serializzazione JSON
public class MyRootClass {
private List<MyInterface> list = new ArrayList<MyInterface>();
// getter/setter
}
public class MyClass implements MyInterface {
private String value = "test";
// getter/setter
}
Il seguente codice:
MyRootClass root = new MyRootClass();
root.getList().add(new MyClass());
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(System.out, root);
genera questo uscita JSON:
{"list": [ {"value":"test"} ] }
invece di quello che mi serve, ogni oggetto nella col lection serializzato con un nome:
{"list": [ {"myclass": {"value":"test"}} ] }
Esiste un modo per realizzarlo con Jackson? Ho pensato di scrivere un serializzatore personalizzato, ma non ho trovato nulla relativo a una collezione di oggetti.
Grazie. Questo è quello che stavo cercando di evitare, perché sto usando un modello di classe legacy (non posso modificarlo), ma ho bisogno di ottenere quel formato JSON (anche una restrizione imposta da un sistema di terze parti). –
è possibile eseguire il wrap del modello di classe legacy ai fini della serializzazione. – Bozho