143
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}

如何让它包含所有条目?

4

1 回答 1

325

请参阅Gson 用户指南 - 空对象支持

Gson 中实现的默认行为是忽略空对象字段。这允许更紧凑的输出格式;但是,客户端必须为这些字段定义一个默认值,因为 JSON 格式会转换回其 Java 格式。

以下是配置 Gson 实例以输出 null 的方法:

Gson gson = new GsonBuilder().serializeNulls().create();
于 2010-10-13T12:51:18.130 回答