gpt4 book ai didi

Java 数组响应而不是括号

转载 作者:行者123 更新时间:2023-12-02 11:08:01 24 4
gpt4 key购买 nike

我正在尝试用 Java 解析 JSON 响应,但由于响应是数组格式而不是对象而面临困难。我首先引用了这个link但找不到正确解析 JSON 的解决方案。相反,我在尝试显示解析的数据时收到此错误...

Exception in thread "main" org.json.JSONException: JSONObject["cardBackId"] not found.

用于显示数据的片段:

JSONObject obj = new JSONObject(response);
JSONArray cardBackId = (JSONArray) obj.get("cardBackId");
System.out.println(cardBackId);

通过Postman的数据响应:

[
{
"cardBackId": "0",
"name": "Classic",
"description": "The only card back you'll ever need.",
"source": "startup",
"sourceDescription": "Default",
"enabled": true,
"img": "http://wow.zamimg.com/images/hearthstone/backs/original/Card_Back_Default.png",
"imgAnimated": "http://wow.zamimg.com/images/hearthstone/backs/animated/Card_Back_Default.gif",
"sortCategory": "1",
"sortOrder": "1",
"locale": "enUS"
},

虽然没有 JSONObject,我可以在 Java 中很好地提取数据,并通过在 STDOUT 中使用 response.toString 进行验证,但这是我第一次在 Java 中使用 json 库,重要的是我将此数据解析为 json。任何与此相关的建议都会有帮助。

最佳答案

响应是一个数组而不是对象本身,试试这个:

JSONObject obj = new JSONArray(response).getJSONObject(0);
String cardBackId = obj.getString("cardBackId");

这是输出,以及相关的 files used : enter image description here

关于Java 数组响应而不是括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50790035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com