我建立一个由一个HashMap中定义nameValue对JSON对象把HashMap中<字符串,对象>在的JSONObject
我遇到的问题是,当我调用:
jsonObject.put(hashmap);
它添加nameValue对这样的:的
name=value
代替name:value
有什么想法?
感谢
我建立一个由一个HashMap中定义nameValue对JSON对象把HashMap中<字符串,对象>在的JSONObject
我遇到的问题是,当我调用:
jsonObject.put(hashmap);
它添加nameValue对这样的:的
name=value
代替name:value
有什么想法?
感谢
迭代通过HashMap和付诸的JSONObject:
Iterator it = mp.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry)it.next();
jsonObject.put(pairs.getKey(), pairs.getValue());
}
做了一个技巧。为什么不自动hsonObject.put h和它? – jonney
@jonney我不确定,文档不包含任何只有一个参数的'put'方法......怪异的 –
存在一个内置的JSONObject构造函数,它涵盖了例如值为数组的情况 – Multithreader
使用的JSONObject构造。 DON“T创建你自己,因为你可能会错过某些情况下,例如当该值是一个数组。
JSONObject jsonObject = new JSONObject(hashMap);
这实际上是一个完整的解决方案,因为它涵盖了极端情况,如其中的值是一个数组。因此,它将使作为JSONArray你
Hate挖掘一个旧的答案,但这不*工作。 OP要求从'HashMap
使用JSON的的putAll
Map<String, Object> myMap = new HashMap<String, Object>();
JSONObject jsonObject = new JSONObject();
jsonObject.putAll(myMap);
看来你在使用 – kutschkem
库这一个:?http://www.json.org/javadoc/org/json /JSONObject.html –