J'ai le fichier json suivant:
{
"segments": {
"externalId": 123,
"name": "Tomas Zulberti",
"shouldInform": true,
"id": 4
}
}
Mais le modèle Java est le suivant:
public class Segment {
private String id;
private String name;
private boolean shouldInform;
// getter and setters here...
}
Lorsque Jackson analyse, il déclenche une exception car il n'y a pas de getter ou setter pour le champ "externalId". Y a-t-il un décorateur qui peut être utilisé pour ignorer un champ json?
Vous pouvez utiliser l'annotation @JsonIgnoreProperties
; si c'est juste une valeur que vous voulez sauter, quelque chose comme:
@JsonIgnoreProperties({"externalId"})
ou pour ignorer tout ce qui ne peut pas être utilisé:
@JsonIgnoreProperties(ignoreUnknown=true)
Il existe d'autres façons de le faire aussi, pour le reste, consultez wiki FasterXML Jackson .
Nous pouvons également utiliser mapper.enable (DeserializationFeature .FAIL_ON_IGNORED_PROPERTIES); à la place @JsonIgnoreProperties (ignoreUnknown = true)
mais pour une 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...
}