Je suis en train de JSON désérialiser une MyRootClass de classe avec une propriété qui est une collection d'éléments d'une deuxième classe MyClass:Jackson: sérialisation collection personnalisée à JSON
public class MyRootClass {
private List<MyInterface> list = new ArrayList<MyInterface>();
// getter/setter
}
public class MyClass implements MyInterface {
private String value = "test";
// getter/setter
}
Le code suivant:
MyRootClass root = new MyRootClass();
root.getList().add(new MyClass());
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(System.out, root);
cette sortie Génère JSON:
{"list": [ {"value":"test"} ] }
au lieu de ce que je dois, chaque objet dans le col lection sérialisé avec un nom:
{"list": [ {"myclass": {"value":"test"}} ] }
Existe-t-il un moyen d'y parvenir en utilisant Jackson? J'ai pensé écrire un sérialiseur personnalisé, mais je n'ai rien trouvé en rapport avec une collection d'objets.
Merci. C'est ce que j'essayais d'éviter, parce que j'utilise un modèle de classe hérité (je ne peux pas le modifier), mais j'ai besoin d'obtenir ce format JSON (également une restriction imposée par un système tiers). –
vous pouvez envelopper le modèle de classe hérité à des fins de sérialisation. – Bozho