我必须创建如下所示的json字符串,
{“数据”:{“数据”:“消息”},“状态”:“成功”
我正在使用下面的代码来创建json字符串的飞行,
> JSONObject jsonObject = new JSONObject();
> JSONObject jsonData = new JSONObject();
> try {
> jsonData.put("data", "message");
> jsonObject.put("data",jsonData);
> jsonObject.put("status", "SUCCESS");
> Log.d("AYadav", new Gson().toJson(jsonObject));
> } catch (JSONException e) {
> e.printStackTrace();
> }
但是从上面的代码我得到了下面的json字符串,
{“名称值对”:{“数据”:{“名称值对”:{“数据”:“消息”} },“状态”:“成功”} }
为什么要推出额外的名称值对?
1条答案
按热度按时间flseospp1#
您混合了两个JSON库,Gson和(我假设)JSON-java。
JSONObject
(“JSON”完全大写)不是Gson的一部分,它属于JSON-java。如果你想使用Gson,那么使用它的类
com.google.gson.JsonObject
,然后在最后调用Gson.toJson
,不要调用JsonObject.toString()
,因为它的文档目前不能保证输出将是JSON文档。如果您希望使用JSON-java,则继续使用
JSONObject
类,但在最后调用JSONObject.toString()
。