Android org.json将Map转换为JSON

时间:2013-04-23 16:36:57

标签: android json

我有一些代码用Java创建特定的JSON结果(适用于Android):

Map<String, Object> jsonDict = new HashMap<String, Object>();
Map<String, Object> dict = new HashMap<String, Object>();
dict.put(_operator, _value);
System.out.println("Dict is: " + new JSONObject(dict).toString());

jsonDict.put(_field, dict);
System.out.println("jsonDict is: " + new JSONObject(jsonDict).toString());  

当我打印出每个步骤的结果时,得到:

Dict is: {"$eq":"asdf"} // <-- this line is correct

最终结果:

Filter 1 is: {"testing":"{eq=asdf}"}  // <-- this line is INCORRECT

我应该得到的结果是:

{"testing":{"eq":"asdf"}}

当我将Map放在Object的{​​{1}}部分内时,会将其切换为Map并添加=符号。为什么会这样做以及可以做些什么呢?

注意:“eq”,“asdf”和“testing”是我的功能输入。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

试试这个

JSONObject json=new JSONObject();
json.put("testing",new JSONObject(dict).toString())

<强>输出:

{"testing":{"eq":"asdf"}}

答案 1 :(得分:-2)

试试这个

Gson gson = new Gson();
new JSONObject(gson.toJson(jsonDict));

<强>输出:

{"testing":{"eq":"asdf"}}