Jackson: Ignorer la valeur de configuration JSON
Question
Je le fichier JSON suivant:
{
"segments": {
"externalId": 123,
"name": "Tomas Zulberti",
"shouldInform": true,
"id": 4
}
}
Mais le modèle java est comme suit:
public class Segment {
private String id;
private String name;
private boolean shouldInform;
// getter and setters here...
}
Quand Jackson est l'analyse soulève une exception becuase il n'y a pas getter ou setter pour le champ « ExternalId ». Il y un décorateur qui peut être utilisé pour ignorer un champ JSON?
La solution
Vous pouvez utiliser l'annotation @JsonIgnoreProperties
; si elle est juste une valeur que vous voulez sauter, quelque chose comme:
@JsonIgnoreProperties({"externalId"})
ou d'ignorer tout ce qui ne peut pas être utilisé:
@JsonIgnoreProperties(ignoreUnknown=true)
Il y a d'autres façons de le faire aussi, pour le contrôle reste FasterXML Jackson wiki .
Autres conseils
Nous pouvons également utiliser mapper.enable (DeserializationFeature FAIL_ON_IGNORED_PROPERTIES .); au lieu @JsonIgnoreProperties (ignoreUnknown = true)
mais pour cette propriété particulière, nous pouvons utiliser
@JsonIgnoreProperties({"externalId"})
public class Segment {
private String id;
private String name;
private boolean shouldInform;
// getter and setters here...
}