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

Wie kann Jackson unbekannte Felder in sich entwickelnden JSON-Objekten ignorieren?

Susan Sarandon
Susan SarandonOriginal
2024-11-27 11:14:10951Durchsuche

How Can Jackson Ignore Unknown Fields in Evolving JSON Objects?

Überwindung sich entwickelnder JSON-Objekte mit Jackson: Ignorieren unbekannter Felder

Bei der Arbeit mit JSON-Daten, die Änderungen unterliegen können, wird es zu einer Herausforderung das Hinzufügen neuer Felder unter Beibehaltung der Integrität bestehender POJO-Klassen. Jackson, eine renommierte JSON-Bibliothek, bietet eine praktische Lösung für dieses Dilemma.

Frage: Wie kann Jackson angepasst werden, um neu hinzugefügte Felder in JSON-Objekten zu ignorieren und so die Kompatibilität mit sich entwickelnden JSON-Strukturen sicherzustellen?

Antwort:

Jackson stellt eine Anmerkung namens @JsonIgnoreProperties, speziell für die Behebung dieses Problems entwickelt. Durch das Hinzufügen dieser Annotation auf Klassenebene können Sie Jackson anweisen, unbekannte Felder, die während der Serialisierung und Deserialisierung auftreten, zu ignorieren.

So implementieren Sie diese Lösung:

  1. Importieren Sie die entsprechende Jackson-Annotation:
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  1. Wenden Sie die Annotation @JsonIgnoreProperties auf Ihre an POJO-Klasse:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Foo {
    ...
}

Durch die Angabe von „ignoreUnknown = true“ ermöglichen Sie Jackson, alle Felder im JSON-Objekt zu übersehen, die in der entsprechenden POJO-Klasse nicht vorhanden sind. Dadurch bleibt Ihre Anwendung auch dann funktionsfähig, wenn sich die JSON-Struktur durch neue Ergänzungen weiterentwickelt.

Das obige ist der detaillierte Inhalt vonWie kann Jackson unbekannte Felder in sich entwickelnden 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