Closed 。这个问题需要多问focused /help/closed-questions 。目前不接受答案。
我如何读取包含 json 数组的 json 数组,这是我的 json
{
"product": {
"name": "myApp",
"config": [
{
"grade": "elementary school",
"courses": [
{
"name": "Math",
"teacher": "David"
}
]
}
]
}
}
例如,我如何阅读“配置”,然后阅读课程,以生成一个显示我小学的列表,然后如果我点击该名称,我的应用程序会显示课程名称和教师姓名
首先,这不是一个 JSONArray;它是一个 JSONObject。 JSONArray 由左大括号和右大括号(分别为 [ 和 ])表示,而 JSONObject 由左/右括号(分别为 { 和 })表示。
现在,回答您有关如何解析它的问题......
假设您有:
String s = your_json_data;
现在,解析一下:
JSONObject jsonObj = new JSONObject(s);
JSONObject productJson = jsonObject.getJSONObject("product"); // May want to consider using optJSONObject for null checking in case your key/value combination doesn't exist
String name = productJson.getString("name"); // myApp
现在你应该开始了解基本的东西了......让我们回顾一下实际的 JSONArray 的迭代:
JSONArray configJsonArray = productJson.getJSONArray("config");
for(int configIterator = 0; configIterator < configJsonArray.length(); configIterator++){
JSONObject innerConfigObj = configJsonArray.getJSONObject(configIterator);
String configGrade = innerConfigObj.getString("grade");
JSONArray courseJsonArray = innerConfigObj.getJSONArray("courses");
for(int courseIterator = 0; courseIterator < courseJsonArray.length(); courseIterator++){
JSONObject innerCourseObj = innerCourseObj.getJSONObject(courseIterator);
String courseName = innerCourseObj.getString("name");
String courseTeacher = innerCourseObj.getString("teacher");
}
}
这应该允许您迭代它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)