Heim > Java > javaLernprogramm > Wie kann Jackson unbekannte Felder während der JSON-Deserialisierung ignorieren?

Wie kann Jackson unbekannte Felder während der JSON-Deserialisierung ignorieren?

Barbara Streisand
Freigeben: 2024-12-01 14:22:11
Original
315 Leute haben es durchsucht

How Can Jackson Ignore Unknown Fields During JSON Deserialization?

JSON-Feldänderungen in Jackson überwinden

Die Verwaltung von JSON-Daten in Android-Anwendungen kann eine Herausforderung sein, insbesondere wenn Schemaänderungen eingeführt werden. Die Jackson-Bibliothek wird häufig für die JSON-Zuordnung verwendet, kann jedoch empfindlich auf das Hinzufügen neuer Felder in JSON-Objekten reagieren.

Frage:

Wie kann Jackson konfiguriert werden? um neue Felder zu ignorieren, die JSON-Objekten während der Deserialisierung hinzugefügt wurden verarbeiten?

Antwort:

Jackson bietet eine vielseitige Lösung für dieses Problem: Die Annotation @JsonIgnoreProperties kann auf Klassenebene angewendet werden, um die Bibliothek anzuweisen, nicht erkannte Eigenschaften zu ignorieren beim Deserialisieren von JSON-Daten.

Um alle neuen Felder zu ignorieren, fügen Sie dem POJO die folgende Anmerkung hinzu Klasse:

@JsonIgnoreProperties(ignoreUnknown = true)
public class Foo {
    ...
}
Nach dem Login kopieren

Abhängig von der verwendeten Jackson-Version variiert die Importanweisung:

  • Aktuelle Version: com.fasterxml.jackson.annotation. JsonIgnoreProperties
  • Ältere Versionen: org.codehaus.jackson.annotate.JsonIgnoreProperties

Mit dieser Annotation ignoriert Jackson alle Felder im JSON-Objekt, die nicht in der POJO-Klasse definiert sind, was eine nahtlose Kompatibilität auch bei JSON ermöglicht Schemaänderungen.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage