Как решить, JSONException: нет значения для & quot; 1 & quot;

некоторое время искала на сайте, а я никуда не денусь.

Я создаю приложение для Android, которое получает список значений из базы данных mySQL через PHP и возвращает результат, закодированный в объект JSON:

{"error":false,"values":{"1":{"name":"This is a string"}, "2":{...}}}

Я получаю объект JSON в Java следующим образом:

JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");

if (!error) {
JSONObject values = jObj.getJSONObject("values");
Iterator<?> keys = values.keys();

while(keys.hasNext()) {
String key = (String)keys.next();
JSONObject value = jObj.getJSONObject(key);
...
}

Это в точке перед эллипсами, где я получаю исключение:

org.json.JSONException: No value for "1"

Я делаю что-то совершенно глупое, или что-то, все выглядит хорошо для меня. Я пробовал несколько разных вещей, но продолжаю получать одну и ту же проблему.
В конечном итоге я хотел бы получить имя obj и добавить его в список строк. Но я не могу выйти за рамки этой точки.

Любая помощь или толчок в правильном направлении будут благодарны.

0

Решение

JSONObject value = jObj.getJSONObject(key);

Заменить

JSONObject value = values.getJSONObject(key);
1

Другие решения

JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");

if (!error) {
JSONObject values = jObj.getJSONObject("values");
Iterator<?> keys = values.keys();

while(keys.hasNext()) {
String key = (String)keys.next();
JSONObject value = values.getJSONObject(key);
...
}
0

По вопросам рекламы [email protected]