Heim >Java >javaLernprogramm >Wie kann ich Jackson so konfigurieren, dass nur Felder für die JSON-Serialisierung und -Deserialisierung verwendet werden?

Wie kann ich Jackson so konfigurieren, dass nur Felder für die JSON-Serialisierung und -Deserialisierung verwendet werden?

Linda Hamilton
Linda HamiltonOriginal
2024-11-24 17:21:21552Durchsuche

How Can I Configure Jackson to Use Only Fields for JSON Serialization and Deserialization?

Jackson so konfigurieren, dass nur Felder verwendet werden: Eine umfassende Lösung

Beim Serialisieren und Deserialisieren von Objekten in JSON verwendet Jackson standardmäßig beide Getter/Setter (Eigenschaften) und Felder. Manchmal möchten Sie sich für diesen Prozess jedoch möglicherweise ausschließlich auf Felder verlassen. So können Sie dies erreichen:

Auf der Ebene einzelner Klassen können Sie das Verhalten mithilfe der Annotation @JsonAutoDetect steuern, wie in der Frage erwähnt. Für eine globale Konfiguration können Sie den ObjectMapper wie folgt anpassen:

ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(
    mapper.getSerializationConfig().getDefaultVisibilityChecker()
            .withFieldVisibility(JsonAutoDetect.Visibility.ANY)
            .withGetterVisibility(JsonAutoDetect.Visibility.NONE)
            .withSetterVisibility(JsonAutoDetect.Visibility.NONE)
            .withCreatorVisibility(JsonAutoDetect.Visibility.NONE)
);

Wenn Sie globalen Zugriff auf einen konfigurierten Mapper benötigen, sollten Sie die Verwendung einer Wrapper-Klasse für einen zentralisierten Konfigurationsansatz in Betracht ziehen.

Das obige ist der detaillierte Inhalt vonWie kann ich Jackson so konfigurieren, dass nur Felder für die JSON-Serialisierung und -Deserialisierung verwendet werden?. 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