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.

questionAnswers(3)

yourAnswerToTheQuestion