Maison > Java > javaDidacticiel > Comment puis-je ignorer les valeurs nulles lors de la sérialisation d'objets avec Jackson ?

Comment puis-je ignorer les valeurs nulles lors de la sérialisation d'objets avec Jackson ?

Barbara Streisand
Libérer: 2024-12-15 04:21:10
original
608 Les gens l'ont consulté

How Can I Skip Null Values When Serializing Objects with Jackson?

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

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

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

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!

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