Ausschließen bestimmter Felder von der Serialisierung basierend auf dem Wert in GSON

7

Ich verwende GSON für meine Serialisierungszwecke. Ich finde keine Möglichkeit, bestimmte Felder von der Serialisierung basierend auf der ExclusionStrategy-Klasse auszuschließen, die von Gson basierend auf dem Feldwert bereitgestellt wird, da nur Klassen- oder Feldattribute auf der Basis von Ausnahmen unterstützt werden . Die Feldattribute enthalten nicht den Wert dieses Felds. Also was soll ich tun?

    
Atharva 29.10.2012, 11:01
quelle

2 Antworten

19

Dies erreichen Sie, indem Sie einen benutzerdefinierten Serializer für die betreffende Klasse erstellen. Nachdem Gson ein Standard-JSON-Objekt erstellt hat, entfernen Sie die Eigenschaft, die Sie aufgrund ihres Werts ausschließen möchten.

%Vor%

Und registrieren Sie den neuen Serializer in dem Gson-Objekt, das Sie für die Serialisierung in der Anwendung für diese Klasse verwenden.

%Vor%     
Atharva 29.10.2012, 11:01
quelle
0

Hier ist ein ausführlicheres Beispiel für eine Klasse, die ich geschrieben habe, um alle falschen Booleans sowie alle "falschen" Strings zu entfernen. Es wurde ziemlich schnell zusammengewürfelt, scheint aber in Ordnung zu sein. Lassen Sie mich wissen, ob es irgendwelche Fehler gibt, die Sie finden.

%Vor%     
Marshall 07.04.2016 18:50
quelle

Tags und Links