Maison > Java > javaDidacticiel > Comment Jackson peut-il ignorer les champs inconnus dans les objets JSON ?

Comment Jackson peut-il ignorer les champs inconnus dans les objets JSON ?

Patricia Arquette
Libérer: 2024-11-30 04:03:14
original
857 Les gens l'ont consulté

How Can Jackson Ignore Unknown Fields in JSON Objects?

Ignorer les champs nouvellement ajoutés dans les objets JSON avec Jackson

Lorsque vous travaillez avec des données JSON, il est courant que les objets évoluent au fil du temps, ce qui entraîne à l'ajout de nouveaux champs. Cependant, si votre application repose sur l'analyse d'objets JSON dans des classes POJO (Plain Old Java Object), la présence de nouveaux champs peut provoquer des erreurs.

Pour relever ce défi, Jackson fournit une annotation appelée @JsonIgnoreProperties, qui permet vous devez demander à Jackson d'ignorer les champs qui ne correspondent pas à la classe POJO correspondante.

Ignorer globalement les nouveaux Champs

Pour ignorer les champs nouvellement ajoutés sur tous les objets JSON analysés, ajoutez l'annotation suivante en haut de votre classe POJO :

@JsonIgnoreProperties(ignoreUnknown = true)
Copier après la connexion

En définissant ignoreUnknown sur true, Jackson ignorera automatiquement les champs présents dans l'objet JSON mais non définis dans la classe POJO.

Ignorer spécifique des nouveaux Champs

Si vous souhaitez ignorer des champs spécifiques au lieu de tous les champs inconnus, vous pouvez utiliser l'annotation @JsonIgnore :

@JsonIgnore
private String newField;
Copier après la connexion

Cette annotation empêchera Jackson de sérialiser ou de désérialiser le champ spécifié.

Remarque :

L'importation pour le L'annotation @JsonIgnoreProperties dépend de la version de Jackson que vous utilisez :

  • Pour Jackson 2.x, utilisez : import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  • Pour Jackson 1 .x, utilisez : importer org.codehaus.jackson.annotate.JsonIgnoreProperties;

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