Heim >Java >javaLernprogramm >Wie kann ich mithilfe regulärer Ausdrücke bestimmte Serialisierungsfelder in Gson ausschließen?
## Ausschluss von Serialisierungsfeldern in Gson
Beim Serialisieren von Objekten mit Gson ist es wünschenswert, bestimmte Felder aus der resultierenden JSON-Ausgabe auszuschließen. Während Anmerkungen eine effiziente Methode zum Ausschließen von Feldern darstellen, wird in diesem Artikel eine Lösung untersucht, die reguläre Ausdrücke nutzt und dabei die Konsistenz mit dem „excludeProperties“-Parameter des Struts2-JSON-Plugins aufrechterhält.
Zunächst wurde versucht, die ExclusionStrategy von GsonBuilder zu nutzen. FieldAttributes fehlen jedoch die notwendigen Informationen, um Felder basierend auf ihrer Position im Objektdiagramm genau abzugleichen.
Um die Serialisierung bestimmter Felder zu vermeiden, kann der „transiente“ Modifikator dies tun genutzt werden. Durch das Annotieren von Feldern mit dem Schlüsselwort „transient“ werden sie von der Serialisierung ausgeschlossen. Zum Beispiel:
private transient String name;
Um einen granularen Ausschluss verschachtelter Felder wie „Land.Name“ zu erreichen, können reguläre Ausdrücke verwendet werden. Leider bietet Gson keinen einfachen Mechanismus zum Anwenden von Regex-Filtern auf den Feldausschluss.
Daher wird ein alternativer Ansatz vorgeschlagen, bei dem das JSON-Objekt nach der Serialisierung geändert wird. Dieser Ansatz erfordert die folgenden Schritte:
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe regulärer Ausdrücke bestimmte Serialisierungsfelder in Gson ausschließen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!