Gson 忽略值 = null 的地图条目
Posted
技术标签:
【中文标题】Gson 忽略值 = null 的地图条目【英文标题】:Gson ignoring map entries with value=null 【发布时间】:2011-04-24 20:06:19 【问题描述】:Gson gson = new Gson();
Map<String,Object> map = new HashMap<String, Object>();
map.put("a", 1);
map.put("b", null);
System.out.println(gson.toJson(map)); //prints "a":1
如何让它包含所有条目?
【问题讨论】:
【参考方案1】:见Gson User Guide - Null Object Support:
在 Gson 中实现的默认行为是忽略空对象字段。这允许更紧凑的输出格式;但是,客户端必须为这些字段定义默认值,因为 JSON 格式会转换回其 Java 格式。
以下是配置 Gson 实例以输出 null 的方式:
Gson gson = new GsonBuilder().serializeNulls().create();
【讨论】:
手册应该更加优化搜索。当我使用少量专长时,我不会阅读所有内容。这是谷歌上的第一个结果。修复了我的问题。 @MathijsSegers 一些很棒的库没有文档。在浏览他们的源代码时遇到了很多麻烦(这又是很多构建器模式等等)。 @MathijsSegers 这就是 SO 和 Google 的魅力所在。我可以谷歌“gson ignore null”并在 3 秒内找到这个答案,而不必在其中找到手册和答案。 如何在类中只包含一个 NULL 字段而不是所有 NULL 字段?我可以在必填字段上方添加注释吗? 这个解决方案看起来很合理,我确实希望它可以工作!但事实并非如此!有什么想法吗?以上是关于Gson 忽略值 = null 的地图条目的主要内容,如果未能解决你的问题,请参考以下文章