Maison >Java >javaDidacticiel >Comment Jackson peut-il ignorer les champs inconnus lors de la désérialisation JSON ?

Comment Jackson peut-il ignorer les champs inconnus lors de la désérialisation JSON ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-01 14:22:11397parcourir

How Can Jackson Ignore Unknown Fields During JSON Deserialization?

Surmonter les modifications des champs JSON dans Jackson

La gestion des données JSON dans les applications Android peut être difficile, en particulier lorsque des modifications de schéma sont introduites. La bibliothèque Jackson est largement utilisée pour le mappage JSON, mais elle peut être sensible à l'ajout de nouveaux champs dans les objets JSON.

Question :

Comment configurer Jackson ignorer les nouveaux champs ajoutés aux objets JSON lors de la désérialisation processus ?

Réponse :

Jackson fournit une solution polyvalente à ce problème : l'annotation @JsonIgnoreProperties peut être appliquée au niveau de la classe pour demander à la bibliothèque d'ignorer les propriétés non reconnues. lors de la désérialisation des données JSON.

Pour ignorer tous les nouveaux champs, ajoutez l'annotation suivante au POJO class :

@JsonIgnoreProperties(ignoreUnknown = true)
public class Foo {
    ...
}

Selon la version de Jackson utilisée, l'instruction d'importation variera :

  • Version actuelle : com.fasterxml.jackson.annotation. JsonIgnoreProperties
  • Anciennes versions : org.codehaus.jackson.annotate.JsonIgnoreProperties

Avec cette annotation en place, Jackson ignorera tous les champs de l'objet JSON qui ne sont pas définis dans la classe POJO, permettant une compatibilité transparente même lorsque le JSON changements de schéma.

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!

Déclaration:
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