Android Studio - 解析JSON密钥

时间:2016-08-16 16:14:32

标签: android json

我正在尝试解析本地json文件。到目前为止,我已经可以读取所有json的代码,但是我无法返回每个单独的密钥。

Json文件(level.json)

{
    "level1": {
         "artist": "aaaa",
         "title":"new title",
             "year":"1990"
    },
    "level2": {
         "artist": "bbb",
         "title":"new title2",
             "year":"1992"
    }

}

我想要做的是获得每个级别的密钥。例如,我想得到"艺术家"来自" level1"。

public String loadJSONFromAsset() {
        String json = null;
        try {

            InputStream is = getAssets().open("level.json");

            int size = is.available();

            byte[] buffer = new byte[size];

            is.read(buffer);

            is.close();

            json = new String(buffer, "UTF-8");


        } catch (IOException ex) {
            ex.printStackTrace();
            return null;
        }
        return json;

    }

当我打印这个函数时,我得到了所有的json。

JSONObject object = new JSONObject();
text.setText(object.getString("level1"));

如何根据每个json对象获取密钥?

1 个答案:

答案 0 :(得分:3)

您可以使用例如:

JSONObject object = new JSONObject(your_json_string);
JSONObject level1 = object.getJSONObject("level1");
JSONObject level2 = object.getJSONObject("level2");

现在你可以像这样访问艺术家,头衔和年份:

text.setText(level1.getString("artist"));
text.setText(level1.getString("title"));
text.setText(level1.getString("year"));