HashMap<String, Integer> map = new HashMap<>();
map.put("ID", 1);
map.put("ID", 2);
map.put("ID", 3);
JSONObject jsonObject = new JSONObject(map);
Log.e("JSON", jsonObject.toString());输出:e/JSON:{"ID":3} Its!
我希望能得到这样的东西
{"ID":1},{"ID":2},{"ID":3}发布于 2017-06-11 09:14:31
是这样的。如果某个键已经退出,Map#put将重写该值。就你而言:
HashMap<String, Integer> map = new HashMap<>();
map.put("ID", 1);
map.put("ID", 2);
map.put("ID", 3);您正在重用密钥"ID"。您的地图只包含一对key/value ID/3。来自文档(HashMap#put )
将指定的值与此映射中的指定键关联。如果映射以前包含键的映射,则替换旧值。
另一方面,同一个json对象不能多次包含相同的键。
发布于 2017-06-11 09:18:56
Json和Maps是基于密钥的。
您的对象键必须是唯一的,否则将被替换。
您应该使用不同的键:
HashMap<String, Integer> map = new HashMap<>();
map.put("ID_1", 1);
map.put("ID_2", 2);
map.put("ID_3", 3);或者使用数组的地图。
https://stackoverflow.com/questions/44482169
复制相似问题