Je veux marshaler des objets NULL comme NULL dans la représentation JSON. Mais, maintenant, ne voit pas l'élément dans le JSON si l'objet est nul.Afficher null pour les objets -JSON- JAXB
Example:
@XmlAccessType(FIELD)
@XmlType(name="foo" propOrder={"foo"}
class foo{
@XmlElement
private Integer foo;
private Integer another_foo;
..
getter()
setter()
}
Dans mon code, je mets l'élément foo à zéro. Mais la représentation JSON n'affiche pas l'élément dans la réponse
La réponse ressemble à ceci
"foo" :{
"another_foo":something
}
J'essayé de placer l'élément XML attribut nillable vrai. (@XmlElement (nillable = true)
Ce qui rend la réponse ressemble,
"foo" :{
"another_foo" : something
"foo":{nil :true}
}
Je veux que ce soit comme,
"foo" :{
"another_foo":something
"foo" : null
}
Qu'est-ce que je fais mal ici?
Merci Staxman, Oui, Nous utilisons le fournisseur Jackson JSON. Je pensais qu'il devrait y avoir un moyen de sortir avec les annotations JAXB. Je vais essayer ça. –
Ah. Peut-être Jersey par défaut de configurer ObjectMapper pour supprimer les null? Bien que le paramètre par défaut ne le fasse pas, Jersey peut choisir de surcharger ce comportement de conservation de la même manière que les autres sérialiseurs. Quoi qu'il en soit, la méthode à appeler est dans SerializationgConfig (setSerializationInclusion), accessible en utilisant ObjectMapper.getSerializationConfig(). Il y a aussi l'annotation @JsonSerialize qui peut être utilisée pour définir l'inclusion par classe (toutes, non nulles, non-par défaut). – StaxMan