我正在尝试解析本地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对象获取密钥?
答案 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"));