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

Wie kann Jackson neue Felder in JSON-Objekten während der Deserialisierung ignorieren?

Mary-Kate Olsen
Freigeben: 2024-11-28 08:29:11
Original
804 Leute haben es durchsucht

How Can Jackson Ignore New Fields in JSON Objects During Deserialization?

Neue Felder in JSON-Objekten mit Jackson ignorieren

JSON-Objekte unterliegen häufig Änderungen, was zu Fehlern führen kann, wenn eine Bibliothek wie Jackson verwendet wird, um sie in POJO zu konvertieren Klassen. Jackson ist eine beliebte JSON-Verarbeitungsbibliothek, die eine Möglichkeit bietet, neu hinzugefügte Felder in JSON-Objekten zu ignorieren.

Das Problem

Wenn ein JSON-Objekt zusätzliche Felder hat, die in der entsprechenden POJO-Klasse nicht vorhanden sind , wird Jackson das Objekt nicht konvertieren können. Dies kann auch dann auftreten, wenn die neuen Felder optional sind und problemlos ignoriert werden können.

Die Lösung: @JsonIgnoreProperties

Jackson stellt die Annotation @JsonIgnoreProperties bereit, die auf eine Klasse angewendet werden kann, um unbekannte Eigenschaften zu ignorieren während der Deserialisierung. Bei Verwendung mit „ignoreUnknown = true“ führt diese Annotation dazu, dass Jackson alle Eigenschaften ignoriert, die nicht in der POJO-Klasse vorhanden sind.

Um @JsonIgnoreProperties zu verwenden, fügen Sie einfach die folgende Annotation oben in Ihrer POJO-Klasse hinzu:

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

Erklärung importieren

Abhängig von der Version von Jackson, die Sie verwenden, müssen Sie die importieren Richtige Klasse für @JsonIgnoreProperties:

Für Jackson 2.x:

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
Nach dem Login kopieren

Für Jackson 1.x:

import org.codehaus.jackson.annotate.JsonIgnoreProperties;
Nach dem Login kopieren

Durch die Verwendung von @JsonIgnoreProperties können Sie verhindern, dass Jackson abbricht, wenn JSON-Objekte neue Felder enthalten. Diese Annotation bietet eine einfache und effektive Möglichkeit, mit sich entwickelnden JSON-Schemas umzugehen und sicherzustellen, dass Ihr Code auch dann stabil bleibt, wenn sich die JSON-Objekte ändern.

Das obige ist der detaillierte Inhalt vonWie kann Jackson neue Felder in JSON-Objekten während der 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