Map<String, Object> map = new HashMap<String, Object>(); Map<String, List> param = new HashMap<String, List>(); param.put("class", Arrays.asList(1,2,3,4)); param.put("student", Arrays.asList(1, 2, 3, 4)); map.put("lineChart", param); System.out.println(JSONObject.fromObject(map).toString());打印结果为
{"lineChart":{"student":[1,2,3,4]}}
Map<String, Object> map = new HashMap<String, Object>(); Map<String, List> param = new HashMap<String, List>(); param.put("grade", Arrays.asList(1,2,3,4)); param.put("student", Arrays.asList(1, 2, 3, 4)); map.put("lineChart", param);
System.out.println(JSONObject.fromObject(map).toString());
打印结果为:
{"lineChart":{"student":[1,2,3,4],"grade":[1,2,3,4]}}
也就是键为class的map再次放入一个map中,该键值对会消失
本文探讨了在Java中使用HashMap存储键值对时遇到的一个奇怪现象:当特定键(如class)被放入Map后,在序列化时该键值对会丢失。通过示例代码展示了这一问题,并提供了可能的原因分析。

545

被折叠的 条评论
为什么被折叠?



