Jackson: la désérialisation des Chaînes vides comme des Chaînes vides
J'ai la classe suivante, qui est mappé par Jackson (version simplifiée):
public class POI {
@JsonProperty("name")
private String name;
}
Dans certains cas, le serveur renvoie "name": null
et je voudrais ensuite définir le nom à vide Java String.
Est-il Jackson annotation ou devrais-je viens de vérifier pour le nul à l'intérieur de mon getter et renvoie la chaîne vide si la propriété est null
?
Ok c'est un doublon 🙂 stackoverflow.com/questions/5782284/...
OriginalL'auteur syntagma | 2013-12-18
Vous devez vous connecter pour publier un commentaire.
Vous pouvez soit mettre dans le constructeur par défaut, ou sur la déclaration:
OU
OriginalL'auteur reindeer
Une solution simple à l'aide de pas de Jackson spécialités: Écrire un Getter pour le nom qui renvoie une Chaîne vide à la place de null comme Jackson utilise ceux de sérialiser.
Une autre façon serait d'écrire une coutume deserializer. Regardez ici: http://wiki.fasterxml.com/JacksonHowToCustomSerializers
OriginalL'auteur spa
Encore une fois, cette réponse est pour le de SORTE que les utilisateurs qui arrive de tomber sur ce fil.
Alors que l'on a accepté la réponse des peuplements acceptée et valable dans tous ses sens - il ne m'aide pas dans le cas où la décision de mettre en
null
valeurs de chaîneempty
chaîne est venu seulement après que nous avons fait nos services disponibles àiOS
clients.Donc, autour de 30 à 40 pojo(en augmentation) et de l'initialisation d'eux tandis que l'instanciation de l'objet en question ou au moment de la déclaration en était trop.
Voici comment nous avons procédé.
Et, le sérialiseur
Et, ensuite, de définir le processus de la ObjectMapper. (Jackson 2.7.4)
En espérant, cela permettra de sauver quelqu'un certain temps.
OriginalL'auteur Tirath