Java オブジェクトを json に変換する必要があるという要件があります。
そのためにGsonを使用していますが、null以外または空でない値のみをシリアル化するコンバーターが必要です。
例えば:
//my java object looks like
class TestObject{
String test1;
String test2;
OtherObject otherObject = new OtherObject();
}
このオブジェクトをjsonに変換する私のGsonインスタンスは次のようになります
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シリアライゼーションクラスをカスタマイズする提案がなければ良いでしょう。