我有需要将 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 序列化类的建议会很好。