gson 不忽略空_java – Gson序列化字段只有在不为null或不为空
創建自己的TypeAdapter
public class MyTypeAdapter extends TypeAdapter() {
@Override
public void write(JsonWriter out, TestObject value) throws IOException {
out.beginObject();
if (!Strings.isNullOrEmpty(value.test1)) {
out.name("test1");
out.value(value.test1);
}
if (!Strings.isNullOrEmpty(value.test2)) {
out.name("test2");
out.value(value.test1);
}
/* similar check for otherObject */
out.endObject();
}
@Override
public TestObject read(JsonReader in) throws IOException {
// do something similar, but the other way around
}
}
然后,您可以向Gson注冊。
Gson gson = new GsonBuilder().registerTypeAdapter(TestObject.class, new MyTypeAdapter()).create();
TestObject obj = new TestObject();
obj.test1 = "test1";
obj.test2 = "";
System.out.println(gson.toJson(obj));
產生
{"test1":"test1"}
GsonBuilder類有一些方法來創建自己的序列化/反序列化策略,注冊類型適配器和設置其他參數。
弦是番石榴課。你是否擁有檢查,如果你不想要依賴。
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的gson 不忽略空_java – Gson序列化字段只有在不为null或不为空的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实战!Spring Boot 整合 阿里
- 下一篇: 用python画桃花_python 画图