Jackson und JSON: Fehlerbehandlung mit nicht erkannten Feldern
Das Problem tritt auf, wenn Jackson auf einen nicht erkannten Eigenschafts-„Wrapper“ stößt, den er zuzuordnen versucht zur Wrapper-Klasse. Da das Feld nicht in der Zielklasse definiert ist, schlägt es mit einer „UnrecognizedPropertyException“ fehl.
Lösung
Um dieses Problem zu beheben, nutzen Sie Jacksons JsonIgnoreProperties-Annotation. Diese Annotation kann auf Klassenebene angewendet werden, um anzugeben, dass alle nicht erkannten Eigenschaften ignoriert werden sollen. Standardmäßig werden alle Eigenschaften ignoriert, die nicht explizit im POJO definiert sind.
Ein Beispiel für die Verwendung dieser Annotation:
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @JsonIgnoreProperties class Wrapper { ... }
Diese Annotation stellt sicher, dass alle Eigenschaften im JSON, die nicht entsprechen Definierte Felder in der Wrapper-Klasse werden während der Deserialisierung übersprungen.
Erweitert Option
In Fällen, in denen Sie alle nicht deklarierten Eigenschaften ignorieren möchten, auch solche mit einer in der Zielklasse definierten Getter- und Setter-Methode, können Sie das Flag „ignoreUnknown“ verwenden:
@JsonIgnoreProperties(ignoreUnknown = true) class Wrapper { ... }
Durch die Angabe von „ignoreUnknown = true“ ignoriert Jackson alle Eigenschaften im JSON, die kein entsprechendes Feld in der Wrapper-Klasse haben, unabhängig von der Existenz eines Getters oder Setters Methoden.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit nicht erkannten Feldern bei der Jackson JSON-Deserialisierung um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!