Pole Giza Serialize tylko wtedy, gdy nie jest puste lub nie jest puste
Mam wymaganie, w którym muszę przekonwertować obiekt java na json.
Używam do tego Gson, ale potrzebuję konwertera, aby serializować tylko wartości puste lub nie puste.
Na przykład:
//my java object looks like
class TestObject{
String test1;
String test2;
OtherObject otherObject = new OtherObject();
}
teraz wygląda na to, że moja instancja Gsona przekształca ten obiekt w json
Gson gson = new Gson();
TestObject obj = new TestObject();
obj.test1 = "test1";
obj.test2 = "";
String jsonStr = gson.toJson(obj);
println jsonStr;
W powyższym wydruku wynik jest
{"test1":"test1", "test2":"", "otherObject":{}}
Chciałem tylko, żeby wynik był
{"test1":"test1"}
Ponieważ test2 jest pusty, a innyObject jest pusty, nie chcę, aby były serializowane do danych json.
Btw, używam Groovy / Grails, więc jeśli jest jakiś plugin do tego, który byłby dobry, jeśli nie, żadna sugestia dostosowania klasy serializacji gsona byłaby dobra.