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?
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%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%Tags und Links java json serialization gson