我正在尝试以下方法来迭代JSONArray中的每个JSONObject但它不起作用。我在Log中检查JSONArray的长度,它给了我正确的长度,但是我无法在JSONArray的每个元素上获得JSONObject。此外,每个元素应该是具有8个键/值对的JSONObject。非常感谢任何反馈,谢谢。
if (getMyJSONArray() != null) {
newJSONArray = getMyJSONArray();
try {
// Did this because the JSONArray was inside a JSONArray
innerJSONArray = newJSONArray.getJSONArray(0);
} catch (JSONException e) {
e.printStackTrace();
}
if (innerJSONArray != null) {
// This gives me the right length
Log.i("innerJSONArray.length: ", String.valueOf(innerJSONArray.length()));
for (int i = 0; innerJSONArray.length() < 0; i++) {
try {
// This doesn't work
JSONObject jsonObject1 = innerJSONArray.getJSONObject(i);
// This doesn't work either
JSONObject jsonObject2 = new JSONObject(innerJSONArray.getString(i));
…(more code below to use if the part above works)
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}
答案 0 :(得分:0)
在for循环中,innerJSONArray.length() < 0;
应为i < innerJSONArray.length()
。
然后这一行应该按预期工作:
JSONObject jsonObject1 = innerJSONArray.getJSONObject(i);