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?

War es hilfreich?

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...
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top