Jackson : ignorer les valeurs nulles lors de la sérialisation
Lors de la sérialisation d'objets à l'aide de Jackson, il peut être souhaitable d'exclure les champs avec des valeurs nulles pour optimiser les données taille et améliorer la lisibilité. À cette fin, Jackson propose deux méthodes pour obtenir ce comportement :
1. Configuration globale :
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; //... ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false); // disable serialization of null values
Ce paramètre s'applique globalement à toutes les opérations de sérialisation effectuées par l'instance ObjectMapper.
2. Annotation @JsonInclude :
L'annotation @JsonInclude peut être appliquée à des champs ou des classes spécifiques pour personnaliser leur comportement de sérialisation. Par exemple :
import com.fasterxml.jackson.annotation.JsonInclude; //... @JsonInclude(JsonInclude.Include.NON_NULL) public class SomeClass { private String someValue; }
Cette annotation demande à Jackson d'exclure le champ someValue de la sérialisation si sa valeur est nulle.
Alternativement, l'annotation @JsonInclude peut être utilisée sur la méthode getter du field :
import com.fasterxml.jackson.annotation.JsonInclude; //... public class SomeClass { private String someValue; @JsonInclude(JsonInclude.Include.NON_NULL) public String getSomeValue() { return someValue; } }
Cette approche permet de sérialiser le champ uniquement lorsque sa valeur n'est pas nulle.
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!