Gson 忽略值 = null 的映射条目

2022-08-31 07:45:44
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 用户指南 - 空对象支持

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

下面介绍如何将 Gson 实例配置为输出 null:

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

答案 2