Maison > Java > javaDidacticiel > Comment Jackson peut-il ignorer les nouveaux champs dans les objets JSON pendant la désérialisation ?

Comment Jackson peut-il ignorer les nouveaux champs dans les objets JSON pendant la désérialisation ?

Mary-Kate Olsen
Libérer: 2024-11-28 08:29:11
original
757 Les gens l'ont consulté

How Can Jackson Ignore New Fields in JSON Objects During Deserialization?

Ignorer les nouveaux champs dans les objets JSON à l'aide de Jackson

Les objets JSON sont souvent sujets à des modifications, ce qui peut entraîner des erreurs lors de l'utilisation d'une bibliothèque comme Jackson pour les convertir en POJO cours. Jackson est une bibliothèque de traitement JSON populaire qui permet d'ignorer les champs nouvellement ajoutés dans les objets JSON.

Le problème

Lorsqu'un objet JSON comporte des champs supplémentaires qui ne sont pas présents dans la classe POJO correspondante , Jackson ne parviendra pas à convertir l'objet. Cela peut se produire même si les nouveaux champs sont facultatifs et peuvent être ignorés en toute sécurité.

La solution : @JsonIgnoreProperties

Jackson fournit l'annotation @JsonIgnoreProperties qui peut être appliquée à une classe pour ignorer les propriétés inconnues. pendant la désérialisation. Lorsqu'elle est utilisée avec ignoreUnknown = true, cette annotation amènera Jackson à ignorer toutes les propriétés qui ne sont pas présentes dans la classe POJO.

Pour utiliser @JsonIgnoreProperties, ajoutez simplement l'annotation suivante en haut de votre classe POJO :

@JsonIgnoreProperties(ignoreUnknown = true)
public class Foo {
    // Class fields
}
Copier après la connexion

Déclaration d'importation

Selon la version de Jackson que vous utilisez, vous devrez importer la classe correcte pour @JsonIgnoreProperties :

Pour Jackson 2.x :

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
Copier après la connexion

Pour Jackson 1.x :

import org.codehaus.jackson.annotate.JsonIgnoreProperties;
Copier après la connexion

En utilisant @JsonIgnoreProperties, vous pouvez empêcher Jackson de se briser lorsque les objets JSON contiennent de nouveaux champs. Cette annotation fournit un moyen simple et efficace de gérer les schémas JSON évolutifs et de garantir que votre code reste stable même lorsque les objets JSON changent.

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