为什么Gson' toJson在使用单线图时返回null

时间:2017-06-22 11:56:27

标签: java json serialization gson

当我给它一个单线图时,不知何故new Gson().toJson()返回null:

Map map = new HashMap() {{ put("hei", "sann"); }};
new Gson().toJson(map);  // returns null!

我能找到的所有其他实现都按预期工作:

new JSONObject(map).toString();             // returns {"hei":"sann"}
JsonOutput.toJson(map);                     // returns {"hei":"sann"}
new ObjectMapper().writeValueAsString(map); // returns {"hei":"sann"}

如果我换行地图就可以了:

new Gson().toJson(new HashMap(map));  // returns {"hei":"sann"}

常规地图也适用:

map = new HashMap();
map.put("hei", "sann");
new Gson().toJson(map);  // returns {"hei":"sann"}

是错误还是功能?

我已在https://github.com/henrik242/map2json

创建了一个测试项目

相关的Gson问题:https://github.com/google/gson/issues/1080

0 个答案:

没有答案