【发布时间】:2018-09-04 23:00:13
【问题描述】:
我有一个包含以下值的 HashMap:
HashMap<String, JSONObject> myMap = new HashMap<String, JSONObject>();
JSONObject name1 = new JSONObject();
name1.put("name", "A");
..... //so on for name2 and name3
myMap.put("1", name1);
myMap.put("2", name2);
myMap.put("3", name3);
System.out.println(myMap.get("1");
Output is {"name", "A"}.
如何向现有键之一插入附加值,以便输出应如下所示:
System.out.println(myMap.get("1");
=> Expected output is {{"name", "A"}, {"age", "30"}}
【问题讨论】:
-
执行
map.get抓取对象,修改它,然后put将其返回到地图中。 -
@alfasin,如果没有替换实例,您不需要执行
put。但是,如果 Map 的值类型是 String,则新的 String 实例需要为put才能覆盖现有值。 -
java编译器是否接受
myMap.put("1",{Personal:[{"name":"A"}]});这个语法? -
我已更新代码以更清晰。但同样的问题仍然存在于我如何更新值而不覆盖现有值?
-
您指定的json对象格式不正确 {{"name", "A"}, {"age", "30"}} 它应该是 [{"name":"A"} , {"age": "30"}] 或 { "name": "A" : "age" "30" },你到底需要什么?