J'ai la JSON suivante:Comment est-ce que je peux sérialiser ce JSON en utilisant des annotations de Jackson?
{
fields : {
"foo" : "foovalue",
"bar" : "barvalue"
}
}
j'ai écrit un POJO comme suit:
public class MyPojo {
@JsonProperty("fields")
private List<Field> fields;
static class Field {
@JsonProperty("foo") private String foo;
@JsonProperty("bar") private String bar;
//Getters and setters for those 2
}
Cela échoue évidemment, parce que mon champ JSON "champs" est un hashmap, et non une liste. Ma question est la suivante: y at-il une annotation "magique" qui peut faire que Jackson reconnaisse les clés de la carte comme noms de propriétés pojo, et affecte les valeurs de la carte aux valeurs de la propriété pojo?
PS: Je ne veux vraiment pas avoir mes champs objet comme ...
private Map<String, String> fields;
... parce que dans mon JSON monde réel que j'ai des objets complexes dans les valeurs de carte, pas seulement cordes ...
Merci ;-)
Philippe
Également, lorsque j'essaie de sérialiser ces cartes, j'obtiens: Erreur d'E/S: impossible de désérialiser l'instance de java.lang.String sur le jeton START_OBJECT – Philippe