111
{
  "key1": "value1",
  "key2": "value2",
  "key3": "value3"
}

キーも値も事前に知らなくても、各アイテムのキーと値を取得するにはどうすればよいですか?

4

5 に答える 5

326

イテレータを使用し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!
    }
}
于 2012-11-26T22:06:29.450 に答える
68

Franciの答えの短いバージョン:

for(Iterator<String> iter = json.keys();iter.hasNext();) {
    String key = iter.next();
    ...
}
于 2013-08-24T19:01:16.157 に答える
3

keys()またはメソッドを使用する必要がありnames()ます。 keys()オブジェクト内のすべての文字列プロパティ名を含む反復子を提供しnames()、すべてのキー文字列名の配列を提供します。

JSONObject のドキュメントはこちらから入手できます

http://developer.android.com/reference/org/json/JSONObject.html

于 2012-11-26T22:07:27.003 に答える
-2

JSONObject リファレンスを見てください。

http://www.json.org/javadoc/org/json/JSONObject.html

オブジェクトを実際に使用しなくても、Iterator を返す getNames() または keys() のいずれかを使用する方法のようです。

于 2012-11-26T22:06:38.643 に答える