我构建一个json对象,该对象由在Hashmap
中定义的nameValue对组成我遇到的问题是我何时调用:
jsonObject.put(hashmap);
它添加了nameValue对,如下所示:
name=value
代替name:value
有什么想法吗?
由于
答案 0 :(得分:5)
使用JSONObject构造函数。不要创建你自己,因为你可能会错过某些情况,比如值是一个数组。
JSONObject jsonObject = new JSONObject(hashMap);
这实际上是一个完整的解决方案,因为它涵盖了角落情况,例如值是数组的位置。因此,它将使它成为JSONArray。
答案 1 :(得分:3)
遍历HashMap并放入jsonObject:
Iterator it = mp.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry)it.next();
jsonObject.put(pairs.getKey(), pairs.getValue() );
}
答案 2 :(得分:0)
使用JSON的putAll。
Map<String, Object> myMap = new HashMap<String, Object>();
JSONObject jsonObject = new JSONObject();
jsonObject.putAll(myMap);