У меня есть требование, где мне нужно преобразовать java-объект в json.Gson Сериализовать поле только если не пустым или не пустым
Я использую для этого 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-данных.
Btw, я использую Groovy/Grails, поэтому, если для этого есть какой-либо плагин, это было бы хорошо, если бы не было никаких предложений по настройке класса сериализации gson.
Как узнать, что 'otherObject' пуст? –