Maison >Java >javaDidacticiel >Comment gérer les champs non reconnus dans la désérialisation Jackson JSON ?
Jackson et JSON : gestion des erreurs avec des champs non reconnus
Le problème survient lorsque Jackson rencontre un « wrapper » de propriété non reconnu qu'il tente de mapper à la classe Wrapper. Étant donné que le champ n'est pas défini dans la classe cible, il échoue avec une « UnrecognizedPropertyException ».
Solution
Pour résoudre ce problème, utilisez l'annotation JsonIgnoreProperties de Jackson. Cette annotation peut être appliquée au niveau de la classe pour spécifier que toutes les propriétés non reconnues doivent être ignorées. Par défaut, il ignore toutes les propriétés non explicitement définies dans le POJO.
Un exemple d'utilisation de cette annotation :
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @JsonIgnoreProperties class Wrapper { ... }
Cette annotation garantit que toutes les propriétés du JSON qui ne correspondent pas à les champs définis dans la classe Wrapper seront ignorés lors de la désérialisation.
Avancé Option
Pour les cas où vous souhaitez ignorer toutes les propriétés non déclarées, même celles avec une méthode getter et setter définie dans la classe cible, vous pouvez utiliser l'indicateur ignoreUnknown :
@JsonIgnoreProperties(ignoreUnknown = true) class Wrapper { ... }
En spécifiant ignoreUnknown = true, Jackson ignorera toutes les propriétés du JSON qui n'ont pas de champ correspondant dans la classe Wrapper, quelle que soit l'existence d'un getter ou d'un setter. méthodes.
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!