Android JSONObject - 如何循环访问平面 JSON 对象以获取每个键和值

2022-08-31 09:31:44
{
  "key1": "value1",
  "key2": "value2",
  "key3": "value3"
}

如何在事先不知道键或值的情况下获取每个项目的键和值?


答案 1

使用 keys() 迭代器循环访问所有属性,并为每个属性调用 get()。

Iterator<String> iter = json.keys();
while (iter.hasNext()) {
    String key = iter.next();
    try {
        Object value = json.get(key);
    } catch (JSONException e) {
        // Something went wrong!
    }
}

答案 2

弗朗西回答的简短版本:

for(Iterator<String> iter = json.keys();iter.hasNext();) {
    String key = iter.next();
    ...
}