Gson ignoring map entries with value=null

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}

How do I get it to include all entries?

84856 次浏览

Gson 用户指南-空对象支持:

在 Gson 实现的默认行为是忽略 null 对象字段。这允许更紧凑的输出格式; 但是,当 JSON 格式转换回 Java 形式时,客户机必须为这些字段定义默认值。

下面是将 Gson 实例配置为输出 null 的方法:

Gson gson = new GsonBuilder().serializeNulls().create();