在Android中解析一个包含在另一个JSON数组中的JSON数组可以使用以下代码示例:
// 假设我们有以下的JSON数据
{
"outerArray": [
{
"innerArray": [
{"name": "John", "age": 25},
{"name": "Sarah", "age": 30},
{"name": "Tom", "age": 35}
]
},
{
"innerArray": [
{"name": "Emily", "age": 28},
{"name": "Michael", "age": 32},
{"name": "Jessica", "age": 27}
]
}
]
}
// 创建一个JSONObject来解析整个JSON数据
JSONObject jsonData = new JSONObject(jsonString);
// 获取outerArray的JSONArray
JSONArray outerArray = jsonData.getJSONArray("outerArray");
// 遍历outerArray中的每个JSONObject
for (int i = 0; i < outerArray.length(); i++) {
JSONObject outerObject = outerArray.getJSONObject(i);
// 获取innerArray的JSONArray
JSONArray innerArray = outerObject.getJSONArray("innerArray");
// 遍历innerArray中的每个JSONObject
for (int j = 0; j < innerArray.length(); j++) {
JSONObject innerObject = innerArray.getJSONObject(j);
// 获取name和age的值
String name = innerObject.getString("name");
int age = innerObject.getInt("age");
// 在这里可以对name和age进行处理或存储到你的数据结构中
// 例如:将name和age存储到一个Person对象中
Person person = new Person(name, age);
// 将person对象添加到你的数据结构中
// 例如:将person对象添加到一个List中
personList.add(person);
}
}
// 现在你可以使用personList中的数据进行你的业务逻辑处理
在上面的代码示例中,我们首先使用JSONObject来解析整个JSON数据。然后我们使用getJSONArray()来获取外部JSON数组outerArray,并使用getJSONObject()来遍历每个外部JSON对象。
在外部JSON对象的循环中,我们使用getJSONArray()来获取内部JSON数组innerArray,并使用getJSONObject()来遍历每个内部JSON对象。
在内部JSON对象的循环中,我们使用getString()和getInt()来获取内部JSON对象中的键值对。
最后,我们对每个内部JSON对象中的数据进行处理,并将其存储到我们的数据结构中(在这个例子中是一个Person对象的列表)。