2016-03-03 53 views
2

当我试图解析JSON数组,工作室给了我一个编译错误,说明的foreach不适用于JSON数组。 虽然我知道如何让所有对象和分析;我只是想知道为什么的foreach是不适用即使JSON阵列是为什么每个回路并不适用于JSON阵列

+0

请出示一些代码。 –

+0

添加一些代码的一部分 –

回答

3

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

例如,对于与整型ArrayList<Integer> list;

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

但JSONArray可以有任何类型的内部IT价值。

例如 -

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

这是一个有效的JSONArray但它包含了所有类型的对象,即 - 的JSONObject,整数,布尔。因此,我们将每次获得不同类型的值在每个循环。

因此,要应用这个阵列我们将在每个循环投一切第一个对象类 -

for (Object o : myJsonArray) 

这并不使多大意义,将需要大量的无用的努力。

5

因为JSONArray类未实现Iterable接口。

1

因为JSONArrayObject和foreach派生预计集合可迭代。

相关问题