我正在尝试解析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.
我做错了什么吗?如果需要,很高兴提供任何进一步的信息。
答案 0 :(得分:2)
matches
是一个数组,不是对象。使用getJSONArray
:
System.out.println(jsonObject.getJSONArray("matches"));
(或更有用的是:
System.out.println(Arrays.deepToString(jsonObject.getJSONArray("matches")));
由于数组上的System.out.println
本身并不真正显示有用的信息。)