С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
2 / 2 / 1
Регистрация: 14.07.2015
Сообщений: 50

Ошибка Value null at rows of type org.json.JSONObject$1 cannot be converted to JSONArray

04.08.2016, 15:19. Показов 5086. Ответов 6

Студворк — интернет-сервис помощи студентам
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
public class MainActivity extends Activity {
  JSONObject jsonobject;
    JSONArray jsonarray;
    ListView listview;
    ListViewAdapter adapter;
    ProgressDialog mProgressDialog;
    ArrayList<HashMap<String, String>> arraylist;
    static String IMAGE = "media";
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Get the view from listview_main.xml
        setContentView(R.layout.listview_main);
        // Execute DownloadJSON AsyncTask
        new DownloadJSON().execute();
    }
 
  
    private class DownloadJSON extends AsyncTask<Void, Void, Void> {
 
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
           
            mProgressDialog = new ProgressDialog(MainActivity.this);
           
            mProgressDialog.setTitle("test");
     
            mProgressDialog.setMessage("Loading...");
            mProgressDialog.setIndeterminate(false);
       
            mProgressDialog.show();
        }
 
        @Override
        protected Void doInBackground(Void... params) {
            
          
            arraylist = new ArrayList<HashMap<String, String>>();
            
            jsonobject = JSONfunctions
                    .getJSONfromURL("http://****");
 
 
            try {
                
                jsonarray = jsonobject.getJSONArray("rows");
 
 
                for (int i = 0; i < jsonarray.length(); i++) {
                    HashMap<String, String> map = new HashMap<String, String>();
                    jsonobject = jsonarray.getJSONObject(i);
                    map.put("media", jsonobject.getString("media"));
                    arraylist.add(map);
                }
            } catch (JSONException e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }
            return null;
        }
 
        @Override
        protected void onPostExecute(Void args) {
          
            listview = (ListView) findViewById(R.id.listview);
      
            adapter = new ListViewAdapter(MainActivity.this, arraylist);
 
            listview.setAdapter(adapter);
 
            mProgressDialog.dismiss();
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.08.2016, 15:19
Ответы с готовыми решениями:

Ошибка - Errororg.json.JSONExceprion: Value bd.json of type java.lang.String cannot be converted to JSONObject
Здравствуйте! Есть база данных bd.json, которая находится в проекте в папке assets. Вот содержимое базы данных; { &quot;name&quot;:...

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Дополнительные сведения: Cannot deserialize the current JSON object (e.g. {&quot;name&quot;:&quot;value&quot;}) into type 'System.Collections.Generic.List`1'...

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Всем привет! Помогите, плиз, разобраться с ошибкой: An unhandled exception of type 'Newtonsoft.Json.JsonSerializationException'...

6
Модератор
 Аватар для vxg
3407 / 2178 / 354
Регистрация: 13.01.2012
Сообщений: 8,448
04.08.2016, 19:38
quadenes, и что тут не ясно? Вам приходит null а вы хотите получить массив - вот оно и брыкается - проверьте приходят ли данные, какого они типа и как они называются
0
2 / 2 / 1
Регистрация: 14.07.2015
Сообщений: 50
05.08.2016, 09:43  [ТС]
Нет. суть в том, что на JSON другого источника, у меня все работает.
А на JSON, который нужно, не пашет.
Вот код:
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{"timestamp":1470379316,"type":"news","rows":[{"categorytitle":"Происшествия","dateline":"1470378720","media":[{"width":"200","filename":"https://www.***.ru/media/80/63/money_dengi_b10(1)__0.jpg","height":"133"}],"text":"
В Армавире возбудили уголовное дело в отношении инспектора ДПС, которого заподозрили в получении взятки.
 
\r\n
По версии следствия, 23 июня полицейский патрулировал поселок Заветный. Он остановил автомобиль с пьяным водителем и сказал, что готов не отправлять его на освидетельствование за 25 тыс. рублей, сообщает пресс-служба СУ СК РФ по Краснодарскому краю.
 
\r\n
Водитель согласился, отдал требуемую сумму, но потом сообщил о случившемся в правоохранительные органы. Расследование уголовного дела продолжается.
 
\r\n
По итогам служебной проверки принято решение об увольнении инспектора ДПС из МВД по отрицательным мотивам. Его руководителей привлекут к дисциплинарной ответственности, бывший полицейский понесет наказание в соответствии с действующим законодательством, сообщает пресс-служба ГУ МВД РФ по Краснодарскому краю.
 
","link":"https://www.***.ru/news/401542/","username":"Anton","categoryid":"7","title":"В Армавире полицейского заподозрили в получении взятки в 25 тыс. рублей","anouns":"Инспектор ДПС предлагал за деньги не отправлять пьяного водителя на освидетельствование","newsid":"401542"},{"categorytitle":"Образование","dateline":"1470378360","media":[{"width":"200","filename":"https://www.***.ru/media/c0/1c/money_dengi_b8__0.jpg","height":"133"}],"text":"
На подготовку 73 городских образовательных организаций столицы Адыгеи Адыгеи к новому учебному году было направлено свыше 19 млн рублей, часть из которых – депутатские средства. Об этом сообщили в пресс-службе администрации Майкопа.
 
\r\n
"В зданиях школ и детских садов проводится косметический ремонт спортивных и актовых залов, столовых, учебных и медицинских кабинетов, рекреаций. Производится замена дверных и оконных блоков, ремонтируются крыши и ограждения, приобретается мебель и необходимое оборудование", – отметили в администрации города.
 
\r\n
Кроме того, в рамках федерального проекта, направленного на создание условий для занятий спортом в сельских образовательных организациях, из федерального бюджета получена субсидия на ремонт спортзала в СОШ №18 поселка Гавердовского. 
 
"Соответствующие мероприятия в рамках муниципальной программы "Доступная среда" будут выполнены в ДОУ №26, ДОУ №37, ДОУ№39, а также в МКОУ "Специальная (коррекционная) общеобразовательная школа VIII вида". Качество выполняемых работ – на контроле мэра города Александра Наролина", – уточнили в пресс-службе мэрии Майкопа.
 
","link":"https://www.yuga.ru/news/401541/","username":"Дарья","categoryid":"120","title":"В Майкопе на косметический ремонт школ выделили 19 млн рублей","anouns":"В Майкопе на косметический ремонт 73 образовательных организаций выделили 19 млн рублей","newsid":"401541"},{"categorytitle":"Курорты и туризм","dateline":"1470378060","media":[{"width":"200","filename":"https://www.***.ru/media/2f/95/sea_beach_b25__0.jpg","height":"133"}],"text":"
В министерстве по курортов, туризма и олимпийского наследия Краснодарского края сообщили, что загрузка пляжей черноморских курортов Кубани превысила 100%.
 
\r\n
Основной наплыв отдыхающих в пик курортного сезона наблюдают в Сочи, Геленджике и Анапе. При этом пляжи Азовского моря заполнены менее чем на половину, сообщает "Интерфакс".
 
\r\n
0
Модератор
 Аватар для vxg
3407 / 2178 / 354
Регистрация: 13.01.2012
Сообщений: 8,448
05.08.2016, 12:51
quadenes, не очень информативно. покажите объект и имя поля которые вы читаете и не можете прочитать
0
2 / 2 / 1
Регистрация: 14.07.2015
Сообщений: 50
05.08.2016, 12:55  [ТС]
vxg,
Рассказываю. К примеру, взяли вручную написали данный JSON, все работает:
JSON
1
2
3
4
5
6
{
  "news":[
    {"categorytitle":"Футбол",      "dateline":"1470387060","image":"https://www.yuga.ru/media/69/b3/krasnodar-birkirkara_b19__zdhiikm.jpg","text":"текст новости","link":"https://www.yuga.ru/news/401560/","username":"Светлана Кочеткова","categoryid":"126","title":"Чемпионы Сербии и Казахстана могут стать следующими соперниками "Краснодара" в Лиге Европы","anouns":"Определились все потенциальные соперники "Краснодара" в раунде плей-офф квалификации Лиги Европы","newsid":"401560"},
    {"categorytitle":"Происшествия","dateline":"1470386760","image":"https://www.yuga.ru/media/45/50/naruchniki_new_b003__11rn4jj.jpg",     "text":"текст новости","link":"https://www.yuga.ru/news/401559/","username":"Маша Волобуева",    "categoryid":"7",  "title":"В Ейском районе напавший на продуктовый магазин избил охранника трубой",                      "anouns":"Двое мужчин похитили из кассы магазина около 8 тыс. рублей",                                        "newsid":"401559"}
   ]
}
Но когда грузим JSON, описанный ранее, то прилетает ошибка "Value null at rows of type org.json.JSONObject$1 cannot be converted to JSONArray"
То есть по факту идет объект в объекте (не может прочитать ROWS)
0
Модератор
 Аватар для vxg
3407 / 2178 / 354
Регистрация: 13.01.2012
Сообщений: 8,448
05.08.2016, 13:05
quadenes, в "плохом" объекте больше массивов чем в этом. на каком именно поле выбивает? тут
Java
1
jsonarray = jsonobject.getJSONArray("rows");
?
ну так в "хорошем" объекте такого поля вообще нет. как то не вяжется

Добавлено через 52 секунды
попробуйте убрать переносы может дуреет он них
0
2 / 2 / 1
Регистрация: 14.07.2015
Сообщений: 50
05.08.2016, 15:08  [ТС]
vxg, Да, на этой строке ошибка

Добавлено через 56 минут
vxg, Нашли ошибку.
Проблема: в случае, если брать статический URL (к примеру, "http://lolita.com/news.json"), то работает.
Но так как страница динамическая, то беда...
Взглянул на URL, нашел символ "&".
Заменил, выглядит теперь вот так:
"http://www.****.ru/cgi-bin/kernel.cgi?module=news"+URLEncoder.encod e("%26")+"act=get_json"+URLEncoder.encod e("%26")+"type=news"+URLEncoder.encode(" %26")+"json_response=1"+URLEncoder.encod e("%26")+"media=0"
И все равно не пашет((
Даже через String пытался. Тщетно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.08.2016, 15:08
Помогаю со студенческими работами здесь

Ошибка: Could not convert variant of type (Null) into type (String) - Фильтрация
В polycom200U1GTADOQuery1 свойстве Events - OnFilterRecord пишу procedure TDataModule2.polycom200U1GTADOQuery1FilterRecord( ...

Ошибка в коде could not convert variant of type null into type integer
var i,j:byte; n:string; begin form7.ComboBox1.Enabled:=false; with dm.T_sub do begin Open; while...

XML Получение данных. Ошибка Could not convert variant of type (Null) into type (OleStr)
Здравствуйте! Пытаюсь загрузить из xml в мемо данные, но выдает ошибку, хотя данные в мемо загружаются. Я пытаюсь разобраться с xml, нужна...

Ошибка Unable to load project. Could not convert variant of type (Null) into type (OleStr)
вдруг не с того не с чего при запуске проекта вылетает ошибка Unable to load project. Could not convert variant of type (Null) into type...

При конвертации даты возникает ошибка could not convert variant of type(Null) into type (date)
Добрый день.Помогите пожалуйста. При конвертации даты возникает ошибка could not convert variant of type(Null) into type (date) . ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru