gson 使用JSONObject创建JSON

pbwdgjma  于 2023-03-02  发布在  其他
关注(0)|答案(1)|浏览(251)

我必须创建如下所示的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字符串,
{“名称值对”:{“数据”:{“名称值对”:{“数据”:“消息”} },“状态”:“成功”} }
为什么要推出额外的名称值对?

flseospp

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()

相关问题