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!