【发布时间】:2013-08-31 18:04:06
【问题描述】:
我有需要将 java 对象转换为 json 的要求。
我为此使用 Gson,但我需要转换器仅序列化非 null 或非空值。
例如:
//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 序列化类的建议会很好。
【问题讨论】:
-
它怎么知道
otherObject是空的?
标签: java json serialization groovy gson