Heim >Java >javaLernprogramm >Wie kann Jackson unbekannte Felder in JSON-Objekten ignorieren?

Wie kann Jackson unbekannte Felder in JSON-Objekten ignorieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-30 04:03:14941Durchsuche

How Can Jackson Ignore Unknown Fields in JSON Objects?

Neu hinzugefügte Felder in JSON-Objekten mit Jackson ignorieren

Bei der Arbeit mit JSON-Daten kommt es häufig vor, dass sich Objekte im Laufe der Zeit weiterentwickeln, was dazu führt bis hin zur Hinzufügung neuer Felder. Wenn Ihre Anwendung jedoch darauf angewiesen ist, JSON-Objekte in POJO-Klassen (Plain Old Java Object) zu analysieren, kann das Vorhandensein neuer Felder zu Fehlern führen.

Um dieser Herausforderung zu begegnen, stellt Jackson eine Annotation namens @JsonIgnoreProperties bereit, die dies ermöglicht Sie weisen Jackson an, Felder zu ignorieren, die nicht mit der entsprechenden POJO-Klasse übereinstimmen.

Globales Ignorieren von Neuen Felder

Um neu hinzugefügte Felder für alle geparsten JSON-Objekte zu ignorieren, fügen Sie die folgende Annotation oben in Ihrer POJO-Klasse hinzu:

@JsonIgnoreProperties(ignoreUnknown = true)

Indem Sie „ignoreUnknown“ auf „true“ setzen, Jackson ignoriert automatisch Felder, die im JSON-Objekt vorhanden, aber nicht in der POJO-Klasse definiert sind.

Spezifisch Neue Felder ignorieren

Wenn Sie bestimmte Felder anstelle aller unbekannten Felder ignorieren möchten, können Sie die Annotation @JsonIgnore verwenden:

@JsonIgnore
private String newField;

Diese Annotation verhindert, dass Jackson serialisiert oder Deserialisieren des angegebenen Feld.

Hinweis:

Der Import für die Annotation @JsonIgnoreProperties hängt von der Version von Jackson ab, die Sie verwenden:

  • Für Jackson 2.x, verwenden Sie: Import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  • Für Jackson 1.x verwenden Sie: import org.codehaus.jackson.annotate.JsonIgnoreProperties;

Das obige ist der detaillierte Inhalt vonWie kann Jackson unbekannte Felder in JSON-Objekten ignorieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn