Android 将 JSONArray 读入 JSONArray [关闭]

2024-03-09

我如何读取包含 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(使用前将#替换为@)

Android 将 JSONArray 读入 JSONArray [关闭] 的相关文章

随机推荐