0

我有一些代码可以在 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"}}

当我将 aMap放入Object其中时,Map它会将其切换为 aString并添加一个 = 符号。它为什么这样做以及可以做些什么呢?

注意:“eq”、“asdf”和“testing”是我的函数的输入。

谢谢你的帮助。

4

2 回答 2

1

尝试这个

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

输出:

{"testing":{"eq":"asdf"}}
于 2013-04-23T16:41:11.587 回答
-2

尝试这个

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

输出:

{"testing":{"eq":"asdf"}}
于 2016-05-27T10:25:06.083 回答