Android (JSONObject) как я могу пройти через плоский объект JSON, чтобы получить каждый ключ и каждое значение


мой вопрос. просто еще никто не спросил его и не ответил на него.

У меня есть плоский JSON:

{"number1":"value1", "number2":"value2", "number3":"value3" }

Я могу установить его в JSONObject просто отлично. Однако я не знаю, как перебирать каждый элемент и получать его строку ключа и строку значения.

может ли кто-нибудь предоставить эффективный код для использования JSONObject? То, что я действительно хочу,-это получить ключ и значение каждого элемента без предварительного знания ключа или значения.

спасибо заранее.

4 90

4 ответа:

использовать 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!
    }
}

краткая версия ответа Франси:

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

вы должны использовать keys() или names() метод. keys() даст вам итератор, содержащий все имена строковых свойств в объекте while names() даст вам массив всех имен ключевых строк.

вы можете получить документацию JSONObject здесь

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

взгляните на ссылку JSONObject:

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

без фактического использования объекта, похоже, используя либо getNames() или keys (), который возвращает итератор-это путь.