Heim > Java > javaLernprogramm > Wie kann ich Nullfeldwerte während der Jackson-Serialisierung unterdrücken?

Wie kann ich Nullfeldwerte während der Jackson-Serialisierung unterdrücken?

Barbara Streisand
Freigeben: 2024-12-17 17:23:11
Original
169 Leute haben es durchsucht

How Can I Suppress Null Field Values During Jackson Serialization?

Umgang mit Nullfeldwerten bei der Jackson-Serialisierung

Jackson, eine beliebte Java-Serialisierungsbibliothek, bietet verschiedene Konfigurationsoptionen, um das Serialisierungsverhalten anzupassen. Ein häufiges Szenario ist die Unterdrückung der Serialisierung von Feldwerten, die null sind. Dadurch wird sichergestellt, dass nur Nicht-Null-Eigenschaften in der serialisierten Ausgabe enthalten sind.

Jackson für die Unterdrückung von Nullwerten konfigurieren

Es gibt zwei Hauptansätze, um Jackson anzuweisen, Nullen zu ignorieren Feldwerte während der Serialisierung.

1. SerializationInclusion verwenden:

ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
Nach dem Login kopieren

Diese globale Konfiguration gilt für alle Felder in allen Klassen, die vom ObjectMapper verarbeitet werden. Dadurch wird sichergestellt, dass jedes Feld mit einem Nullwert in der serialisierten Ausgabe weggelassen wird.

2. Verwendung der @JsonInclude-Annotation:

@JsonInclude(Include.NON_NULL)
public class SomeClass {
    private String someValue;
}
Nach dem Login kopieren

Durch Anwenden der @JsonInclude-Annotation auf eine Klasse oder Getter-Methode können Sie das Serialisierungsverhalten für bestimmte Eigenschaften oder Unterklassen angeben. Durch das Festlegen von Include.NON_NULL wird angegeben, dass nur Nicht-Null-Werte für dieses Feld serialisiert werden sollen.

Alternative Ansätze

Alternativ können Sie die Annotation @JsonInclude verwenden in der Getter-Methode für eine bestimmte Eigenschaft, um die Eigenschaft nur dann bedingt zu serialisieren, wenn ihr Wert nicht vorhanden ist null.

@JsonInclude(value = JsonInclude.Include.NON_NULL, condition = JsonInclude.Include.Condition.NON_NULL)
public String getSomeValue() {
    return someValue;
}
Nach dem Login kopieren

Zusätzliche Überlegungen

Beachten Sie, dass diese Konfigurationen keinen Einfluss auf den Deserialisierungsprozess haben. Wenn bei der Deserialisierung ein Nullwert auftritt, wird dieser dennoch im entsprechenden Feld festgelegt. Informationen zum Steuern des Deserialisierungsverhaltens finden Sie in der Jackson-Dokumentation für @JsonIgnoreProperties und @JsonIgnore.

Das obige ist der detaillierte Inhalt vonWie kann ich Nullfeldwerte während der Jackson-Serialisierung unterdrücken?. 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