Gson Serialize Feld nur wenn nicht null oder nicht leer
Ich habe Anforderung, wo ich Java-Objekt in Json konvertieren müssen.
Ich benutze Gson dafür, aber ich brauche den Konverter, um nur die Nicht-Null- oder Nicht-Leerwerte zu serialisieren.
Zum Beispiel:
//my java object looks like
class TestObject{
String test1;
String test2;
OtherObject otherObject = new OtherObject();
}
Nun sieht meine Gson-Instanz zum Konvertieren dieses Objekts in JSON aus
Gson gson = new Gson();
TestObject obj = new TestObject();
obj.test1 = "test1";
obj.test2 = "";
String jsonStr = gson.toJson(obj);
println jsonStr;
Im obigen Ausdruck ist das Ergebnis
{"test1":"test1", "test2":"", "otherObject":{}}
Hier wollte ich nur das Ergebnis sein
{"test1":"test1"}
Da der Test2 leer ist und otherObject leer ist, möchte ich nicht, dass sie zu JSON-Daten serialisiert werden.
Übrigens verwende ich Groovy / Grails. Wenn es also ein Plugin dafür gibt, das gut wäre, wäre es gut, wenn nicht ein Vorschlag zur Anpassung der gson-Serialisierungsklasse gemacht würde.