Jackson: Ignorieren Json Konfigurationswert
Frage
Ich habe die folgende JSON-Datei:
{
"segments": {
"externalId": 123,
"name": "Tomas Zulberti",
"shouldInform": true,
"id": 4
}
}
Aber das Java-Modell ist wie folgt:
public class Segment {
private String id;
private String name;
private boolean shouldInform;
// getter and setters here...
}
Wenn Jackson Parsen es löst eine Ausnahme becuase kein Getter oder Setter für das Feld „externalId“ ist. Es gibt einen Dekorateur, der verwendet werden kann, eine json Feld zu ignorieren?
Lösung
Sie können die Anmerkung @JsonIgnoreProperties
verwenden; wenn es nur ein Wert, den Sie überspringen wollen, so etwas wie:
@JsonIgnoreProperties({"externalId"})
oder etwas zu ignorieren, die nicht verwendet werden können:
@JsonIgnoreProperties(ignoreUnknown=true)
Es gibt auch andere Möglichkeiten, es zu tun, für Ruhe Check-out FasterXML Jackson Wiki .
Andere Tipps
Auch können wir mapper.enable (DeserializationFeature FAIL_ON_IGNORED_PROPERTIES .) Verwenden; Statt @JsonIgnoreProperties (ignoreUnknown = true)
aber für bestimmte Eigenschaft können wir verwenden
@JsonIgnoreProperties({"externalId"})
public class Segment {
private String id;
private String name;
private boolean shouldInform;
// getter and setters here...
}