Maison > Java > javaDidacticiel > Comment puis-je empêcher Jackson de sérialiser les champs nuls ?

Comment puis-je empêcher Jackson de sérialiser les champs nuls ?

Linda Hamilton
Libérer: 2024-12-18 07:04:11
original
613 Les gens l'ont consulté

How Can I Prevent Jackson from Serializing Null Fields?

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);
Copier après la connexion

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; 
}
Copier après la connexion

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;
   }
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal