getJSONObject错误:JSONObject [“ ...”]不是JSONObject

时间:2018-11-16 10:53:26

标签: java

我正在尝试解析JSON字符串,但是在尝试获取嵌套对象时遇到错误:

JSONObject jsonObject = new JSONObject(jsonString);

System.out.println(jsonObject);
System.out.println(jsonObject.keySet());
System.out.println(jsonObject.getJSONObject("matches"));

下面是控制台中的输出。据我所知,JSON是有效的,因为创建JSONObject时没有错误。但是,当我尝试获取“匹配项”时,会引发错误。我已经将我的代码与教程进行了比较,但是我看不出问题出在哪里:

{"matches":[{"id":233028,"awayTeam":{...

[matches, count, filters, competition]

Error in client: JSONObject["matches"] is not a JSONObject.

我做错了什么吗?如果需要,很高兴提供任何进一步的信息。

1 个答案:

答案 0 :(得分:2)

matches是一个数组,不是对象。使用getJSONArray

System.out.println(jsonObject.getJSONArray("matches"));

(或更有用的是:

System.out.println(Arrays.deepToString(jsonObject.getJSONArray("matches")));

由于数组上的System.out.println本身并不真正显示有用的信息。)