Android 为什么for each循环不适用于JSON数组

Android 为什么for each循环不适用于JSON数组,android,json,foreach,Android,Json,Foreach,当我试图解析json数组时,studio给了我一个编译错误,说明foreach不适用于json数组。 虽然我知道如何获取所有对象和解析;我只是想知道为什么foreach不适用,即使json数组是一个数组,因为JSONArray类没有实现Iterable接口。因为JSONArray派生自对象,foreach希望集合是可Iterable的。对于每个循环都有效像这样- 例如,对于和整数类型ArrayList列表 for (int x : list) // process x here 但是J

当我试图解析json数组时,studio给了我一个编译错误,说明foreach不适用于json数组。
虽然我知道如何获取所有对象和解析;我只是想知道为什么foreach不适用
,即使json数组是一个数组

,因为
JSONArray
类没有实现
Iterable
接口。

因为
JSONArray
派生自
对象
,foreach希望集合是可Iterable的。

对于每个循环都有效像这样-

例如,对于和整数类型
ArrayList列表

for (int x : list)
    // process x here
但是JSONArray可以包含任何类型的值

比如说-

[{"name" : John}, {"name" : Joe}, 1, false]
这是一个有效的JSONArray,但它包含所有类型的对象,即-JSONObject、Integer和Boolean。所以我们每次在for循环中都会得到不同类型的值

因此,要在此数组上应用for-each循环,我们必须首先将所有内容转换为对象类-

for (Object o : myJsonArray)

这没有多大意义,需要做很多无用的工作。

请显示一些代码。添加部分代码