gson 不忽略空_java – Gson序列化字段只有在不为null或不为空
創(chuàng)建自己的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注冊(cè)。
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));
產(chǎn)生
{"test1":"test1"}
GsonBuilder類有一些方法來創(chuàng)建自己的序列化/反序列化策略,注冊(cè)類型適配器和設(shè)置其他參數(shù)。
弦是番石榴課。你是否擁有檢查,如果你不想要依賴。
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎(jiǎng)!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的gson 不忽略空_java – Gson序列化字段只有在不为null或不为空的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实战!Spring Boot 整合 阿里
- 下一篇: 谁还没经历过死锁呢