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

标签 android json foreach

当我尝试解析 json 数组时,工作室给了我一个编译错误,指出foreach 不适用于 json 数组。 虽然我知道如何获取所有对象并进行解析;我只是想知道为什么 foreach 不适用 即使 json 数组是一个数组

最佳答案

对于每个循环都是这样的 -

例如对于和整数类型ArrayList<Integer> list;

for (int x : list)
    // process x here

但是 JSONArray 可以在其中包含任何类型的值。

例如-

[{"name" : John}, {"name" : Joe}, 1, false]

这是一个有效的 JSONArray,但它包含所有类型的对象,即 JSONObject、Integer、Boolean。因此,每次循环我们都会得到不同类型的值。

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

for (Object o : myJsonArray)

这没有多大意义,需要大量无用的努力。

关于android - 为什么 for each 循环不适用于 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35771392/

相关文章:

Java 或 Groovy 相当于 python for loop + izip

javascript - 为什么我们在 ES2015 中需要一个新的循环结构 for-of,而我们已经有了 for,forEach?

java - 自定义编写的 Set 迭代器在 for-each 循环中抛出异常

android - iframe 不显示在手机屏幕上

android - 如何在普通项目中使用 SQLite 和 Xamarin

android - 使用OpenCV在Android中拍摄相机屏幕方向的问题

javascript - 使用 jQuery 附加到替换的元素

android - 我应该怎么做才能将数据从 json 插入到 Android 中的 sqlite 中

Android 应用程序名称不会显示在应用程序抽屉中

javascript - 在每个数组元素后追加 '|'