我正在构建一个由HashMap中定义的nameValue对组成的JSON对象。
我遇到的问题是当我调用:
jsonObject.put(hashmap);
它会添加像这样的nameValue对:
name=value
而不是 name:value
你有什么想法吗?
谢谢
JSONObject jsonObject = new JSONObject(hashMap);
这实际上是一个完整的解决方案,因为它考虑了一些特殊情况,例如值为数组的情况。因此,它会将其转换为JSONArray。
HashMap<String, Object>
转换为JSONObject
。您提到的构造函数仅适用于HashMap<String, String>
,如此链接所述。 - ThunderStruct遍历HashMap并将其放入jsonObject:
Iterator it = mp.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry)it.next();
jsonObject.put(pairs.getKey(), pairs.getValue() );
}
put
方法...很奇怪。 - Jonathan Naguin