我有一些代码用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”是我的功能输入。
感谢您的帮助。
答案 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"}}