Campo Gson Serializar solo si no es nulo o no está vacío
Tengo un requisito donde necesito convertir el objeto java a json.
Estoy usando Gson para eso, pero necesito el convertidor para serializar solo los valores no nulos o no vacíos.
Por ejemplo:
//my java object looks like
class TestObject{
String test1;
String test2;
OtherObject otherObject = new OtherObject();
}
Ahora mi instancia de Gson para convertir este objeto a json parece
Gson gson = new Gson();
TestObject obj = new TestObject();
obj.test1 = "test1";
obj.test2 = "";
String jsonStr = gson.toJson(obj);
println jsonStr;
En la impresión anterior, el resultado es
{"test1":"test1", "test2":"", "otherObject":{}}
Aquí solo quería que el resultado fuera
{"test1":"test1"}
Dado que el test2 está vacío y el otro objeto está vacío, no quiero que se serialicen a datos json.
Por cierto, estoy usando Groovy / Grails, así que si hay algún complemento para esto sería bueno, si no cualquier sugerencia para personalizar la clase de serialización de gson sería buena.