Heim  >  Artikel  >  Java  >  Wie gehe ich mit „Unrecognized Field“-Fehlern um, wenn Jackson mit JSON verwendet wird?

Wie gehe ich mit „Unrecognized Field“-Fehlern um, wenn Jackson mit JSON verwendet wird?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-17 07:18:03616Durchsuche

How to Handle

Jackson mit JSON: Nicht erkannte Feldauflösung

Beim Versuch, eine JSON-Zeichenfolge mit Jackson in ein Java-Objekt zu konvertieren, wird ein „Unerkanntes Feld“ angezeigt. Es kann zu Fehlern kommen. Dies tritt auf, wenn ein Feld im JSON vorhanden ist, aber nicht in der entsprechenden Java-Klasse.

Im bereitgestellten Beispiel enthält die JSON-Eingabe ein „Wrapper“-Feld, das sowohl in der Student-Klasse als auch in der Wrapper-Klasse fehlt . Um dieses Problem zu lösen, können Sie Jacksons Annotation auf Klassenebene verwenden: @JsonIgnoreProperties.

@JsonIgnoreProperties-Annotation

Mit der @JsonIgnoreProperties-Annotation können Sie angeben, welche Eigenschaften in der JSON sollte ignoriert werden. Dies ist besonders nützlich, wenn Sie nur eine Teilmenge der JSON-Eigenschaften benötigen und die Erstellung einer großen Zuordnung vermeiden möchten.

Verwendung

Um das „Wrapper“-Feld zu ignorieren In Ihrem JSON können Sie die Annotation @JsonIgnoreProperties zu Ihrer Wrapper-Klasse hinzufügen:

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class Wrapper { ... }

Durch die Verwendung von „ignoreUnknown = true“ weisen Sie Jackson an, alle unbekannten Eigenschaften zu ignorieren, auf die es im JSON stößt.

Alternative Ansätze

Alternativ können Sie explizit einen Getter und einen Setter für das Feld „wrapper“ in Ihrer Wrapper-Klasse deklarieren, auch wenn Sie diese nicht verwenden möchten. Dadurch wird Jackson auf das Feld aufmerksam gemacht und der Fehler „Unerkanntes Feld“ verhindert.

Es ist auch möglich, die Annotation @JacksonXmlRootElement zu verwenden, um das Stammelement des JSON anzugeben, dies ist jedoch möglicherweise nicht die beste Lösung alle Szenarien.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit „Unrecognized Field“-Fehlern um, wenn Jackson mit JSON verwendet wird?. 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