Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
akyma40
16 / 15 / 3
Регистрация: 20.05.2015
Сообщений: 103
#1

Ошибка в разборе JSON - Android

08.06.2015, 20:55. Просмотров 225. Ответов 0
Метки нет (Все метки)

вот смотрите, приходит мне такой ответ от сервера:
Кликните здесь для просмотра всего текста
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"response":{
"count":тут число,
"items":[{
"message":
{
"id":тут число,
"date":тут число,
"out":тут число,
"user_id":тут число,
"read_state":тут число,
"title":"строка",
"body":"строка"
}
}]
}
}

так вот, я начинаю его разбирать и вот сразу ошибки валятся... Я мало работал с json так что не всегда соображаю как его разбирать... вот логи ошибок:
Кликните здесь для просмотра всего текста

06-08 23:31:15.825: W/System.err(13735): org.json.JSONException: No value for items
06-08 23:31:15.839: W/System.err(13735): at org.json.JSONObject.get(JSONObject.java:354)
06-08 23:31:15.840: W/System.err(13735): at org.json.JSONObject.getJSONArray(JSONObject.java:544)
06-08 23:31:15.840: W/System.err(13735): at com.example.jsonparser.MainActivity$NewThread.doInBackground(MainActivity.java:83)
06-08 23:31:15.840: W/System.err(13735): at com.example.jsonparser.MainActivity$NewThread.doInBackground(MainActivity.java:1)
06-08 23:31:15.841: W/System.err(13735): at android.os.AsyncTask$2.call(AsyncTask.java:287)
06-08 23:31:15.841: W/System.err(13735): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
06-08 23:31:15.841: W/System.err(13735): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
06-08 23:31:15.841: W/System.err(13735): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
06-08 23:31:15.841: W/System.err(13735): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
06-08 23:31:15.842: W/System.err(13735): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
06-08 23:31:15.842: W/System.err(13735): at java.lang.Thread.run(Thread.java:856)

а вот и сам код
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
JSONObject jsonobject = new JSONObject(responseBody);
                    JSONObject obj = new JSONObject();
                    obj = jsonobject.getJSONObject("response");
                    JSONArray jsonarray = jsonobject.getJSONArray("items");
                    for (int i = 0; i < jsonarray.length(); i++) {
                        obj = jsonarray.getJSONObject(i).getJSONObject("message");
                        body[1] = obj.getString("body");
                        id[i] = obj.getString("id");
                    }


Добавлено через 14 минут
извиняюсь, я просто даун и не заметил что JSONArray jsonarray = jsonobject.getJSONArray("items"); а не JSONArray jsonarray = obj.getJSONArray("items");
вопрос решен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2015, 20:55     Ошибка в разборе JSON
Посмотрите здесь:

Android Парсинг JSON'а
Android Создать JSON
Android C JSON в ListView
Android JSON parser
Обработка Json Android
простенький json Android
Android JSON
Android Парсинг json
Android Ошибка JSON в Retrofit
Android JSON и Андроид
Ошибка Value null at rows of type org.json.JSONObject$1 cannot be converted to JSONArray Android
Парсинг Json Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 11:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru