Gson 序列化字段仅在不为空或不为空时
我有需要将java对象转换为json的要求。
我正在使用Gson,但我需要转换器仅序列化非空值或非空值。
例如:
//my java object looks like
class TestObject{
String test1;
String test2;
OtherObject otherObject = new OtherObject();
}
现在我的Gson实例将此对象转换为json看起来像
Gson gson = new Gson();
TestObject obj = new TestObject();
obj.test1 = "test1";
obj.test2 = "";
String jsonStr = gson.toJson(obj);
println jsonStr;
在上面的印刷品中,结果是
{"test1":"test1", "test2":"", "otherObject":{}}
在这里,我只想让结果是
{"test1":"test1"}
由于test2是空的,而otherObject是空的,我不希望它们被序列化为json数据。
顺便说一句,我正在使用Groovy / Grails,所以如果有任何插件会很好,如果没有任何建议来自定义gson序列化类会很好。