Ignorer la sérialisation des champs nuls avec Jackson
Jackson propose plusieurs façons de supprimer la sérialisation des champs avec des valeurs nulles. Cela peut être utile pour réduire la taille des données sérialisées ou pour garantir que certains champs ne sont pas exposés en externe.
Configuration de l'ObjectMapper
Pour configurer globalement Jackson pour ignorer null valeurs, vous pouvez définir la propriété SerializationInclusion de l'ObjectMapper :
mapper.setSerializationInclusion(Include.NON_NULL);
Cela amènera Jackson à ignorer tout champ avec une valeur nulle pendant sérialisation.
Utilisation de l'annotation @JsonInclude
Pour les champs individuels, vous pouvez utiliser l'annotation @JsonInclude pour contrôler la façon dont les valeurs nulles sont traitées :
class SomeClass { @JsonInclude(Include.NON_NULL) private String someValue; }
Avec cette annotation, le champ someValue ne sera sérialisé que s'il ne l'est pas null.
Utilisation de @JsonInclude avec des getters
Vous pouvez également utiliser @JsonInclude dans une méthode getter pour exclure sélectivement des champs en fonction de la valeur :
class SomeClass { private String someValue; @JsonInclude(value=Include.NON_NULL, content=Include.ALWAYS) public String getSomeValue() { return someValue; } }
Dans cet exemple, le champ someValue sera exclu de la sérialisation s'il est nul, mais il sera inclus s'il n'est pas nul, même s'il s'agit d'une chaîne vide.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!