Bei der Arbeit mit sensiblen Daten während der Serialisierung und Deserialisierung ist es oft wünschenswert, bestimmte Eigenschaften von der Übertragung auszuschließen. Die Annotation @JsonIgnore bietet diese Funktionalität, gilt jedoch standardmäßig sowohl für die Serialisierung als auch für die Deserialisierung. Für Szenarien, in denen Sie die Verschlüsselung nur für die Serialisierung unterdrücken müssen, können Sie dies wie folgt erreichen:
Vor Jackson Version 1.9 konnten Sie @JsonIgnore auf Getter-Methoden beschränken Aktivieren Sie die Deserialisierung und deaktivieren Sie sie gleichzeitig für die Serialisierung. Dies bedeutete, nur den Getter mit @JsonIgnore zu annotieren.
In späteren Jackson-Versionen bietet die @JsonProperty-Annotation zusätzliche Flexibilität. Um @JsonIgnore nur auf die Serialisierung anzuwenden:
Für Versionen mit Jacksons @JsonProperty.Access-Annotation haben Sie eine weitere Option:
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String password;
Dies ermöglicht die Serialisierung des Passworts, verhindert jedoch dessen Deserialisierung und sichert es effektiv. Weitere Einzelheiten finden Sie in der Jackson-Dokumentation.
Das obige ist der detaillierte Inhalt vonWie kann ich @JsonIgnore selektiv nur für die Serialisierung in Jackson anwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!