Heim >Java >javaLernprogramm >Wie schließe ich bestimmte Felder ohne Anmerkungen von der Gson-Serialisierung aus?
Gson: Bestimmte Felder von der Serialisierung ohne Anmerkungen ausschließen
Bestimmte Felder von der Gson-Serialisierung ohne Anmerkungen auszuschließen kann schwierig sein. So erreichen Sie dies mit einer benutzerdefinierten ExclusionStrategy:
Benutzerdefinierte ExclusionStrategy
Gson bietet eine ExclusionStrategy-Schnittstelle, mit der Sie anpassen können, wie Felder ausgeschlossen werden. Erstellen Sie eine Implementierung dieser Schnittstelle:
public class FieldExclusionStrategy implements ExclusionStrategy { private Pattern pattern; public FieldExclusionStrategy(String regex) { pattern = Pattern.compile(regex); } @Override public boolean shouldSkipField(FieldAttributes fa) { String fieldName = fa.getName(); return pattern.matcher(fieldName).matches(); } @Override public boolean shouldSkipClass(Class<?> clazz) { return false; } }
Ausschluss anpassen
Im bereitgestellten Beispiel schließt die ExclusionStrategy Felder basierend auf einem bestimmten regulären Ausdruck aus. Sie können das Muster so anpassen, dass es mit den gewünschten Feldern übereinstimmt, die ausgeschlossen werden sollen, z. B. „country.name“.
Verwenden der ExclusionStrategy
Sobald die ExclusionStrategy definiert ist, verwenden Sie sie bei der Konfiguration der GsonBuilder:
Gson gson = new GsonBuilder() .setExclusionStrategies(new FieldExclusionStrategy("country.name")) .create();
Nutzung Beispiel
Nach der Konfiguration von Gson können Sie Ihr Student-Objekt wie folgt serialisieren:
String json = gson.toJson(student);
Dadurch wird das Feld „country.name“ von der serialisierten JSON-Ausgabe ausgeschlossen.
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWie schließe ich bestimmte Felder ohne Anmerkungen von der Gson-Serialisierung aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!