La liaison JSON enfant de propriété d'objet en objet Java champ Jackson
J'ai un objet JSON, dire:
{
"foo": {
"bar": 1
},
"baz": 2
}
et je veux le lier à un objet Java, comme:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Foo {
private int bar;
@JsonProperty("baz")
private int baz;
}
Comment puis-je définir la valeur de foo.bar
de JSON à la bar
champ dans la Foo
objet Java?
J'ai essayé en annotant le terrain avec @JsonProperty("foo.bar")
, mais il ne fonctionne pas comme ça.
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas parfait, mais c'est la façon la plus élégante je pouvais comprendre.
Il n'y a pas de fonctionnalité automatisée (pour autant que je sache), mais c'est un peu souvent demande de fonctionnalité; il y a ce Jira RFE: http://jira.codehaus.org/browse/JACKSON-132 que cela ressemble à ce que vous recherchez.
Foo
objet.Voici un exemple rapide qui fonctionne:
JSON:
Java:
C'est comme la liaison d'une pomme à une orange! Un autre "accrocheur phrase" serait, "d'adaptation d'Impédance", ou dans Star Trek 1, "Non Sequetor!" Lier correspond un objet, puis de faire de nouvelle affectation à Java entre les différents types d'objets.