Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
2 / 2 / 2
Регистрация: 27.03.2013
Сообщений: 55

JSON парсинг

10.11.2015, 20:11. Показов 1371. Ответов 2

Студворк — интернет-сервис помощи студентам
Я столкнулся с такой проблемой. Подскажите пожайлуста, что не так? И как исправить?
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
FileReader reader = new FileReader(filePath);
            JSONParser jsonParser = new JSONParser();
            JSONObject jsonObject = (JSONObject) jsonParser.parse(reader);
 
            
            JSONArray values = (JSONArray) jsonObject.get("value");
//          for (int i = 0; i < values.size(); i++) {
//              System.out.println("The " + i + " element of the array: "
//                      + values.get(i));
//          }
            
            Iterator i = values.iterator();
            while (i.hasNext()) {
                for (int k = 0; k < values.size(); k++){
                JSONObject innerObj = (JSONObject) i.next();
                System.out.println("Train number:" + innerObj.get("num"));
                
                JSONObject value_i = (JSONObject) values.get(k);
               
                JSONObject from = (JSONObject) value_i.get("from");
        
                String station_from = (String) from.get("station"); 
                String src_date_from = (String) from.get("src_date"); 
                System.out.println("Station departure: "+station_from);
                System.out.println("Date departure: "+src_date_from);
                
                JSONObject till = (JSONObject) value_i.get("till"); 
                String station_till = (String) till.get("station"); 
                String src_date_till = (String) till.get("src_date"); 
                System.out.println("Station arrival: " +station_till);
                System.out.println("Date arrival:" +src_date_till);
                
                JSONArray types =  (JSONArray) values.get(k); 
                
                    for (int j = 0; j < values.size(); j++) {
                        JSONObject values2 = (JSONObject) types.get(j);
                        String title = (String)values2.get("title");
                        String letter = (String)values2.get("letter");
                        String places = (String)values2.get("places");
                        System.out.println("Title: "+title);
                        System.out.println("Letter: "+letter);
                        System.out.println("Places:"+places);
                    }
                System.out.println("===========================================");
                }
JSON
1
{"value":[{"num":"742\u041b","model":1,"category":1,"from":{"station_id":"2218240","station":"Truskavets","date":1447162980,"src_date":"2015-11-10 15:43:00"},"till":{"station_id":"2200001","station":"Darnytsya","date":1447187400,"src_date":"2015-11-10 22:30:00"},"types":[{"title":"Seating first class","letter":"\u04211","places":151},{"title":"Seating second class","letter":"\u04212","places":346}]},{"num":"050\u041b","model":0,"category":0,"from":{"station_id":"2218240","station":"Truskavets","date":1447179000,"src_date":"2015-11-10 20:10:00"},"till":{"station_id":"2200001","station":"Kyiv-Pasazhyrsky","date":1447218900,"src_date":"2015-11-11 07:15:00"},"types":[{"title":"Suite \/ first-class sleeper","letter":"\u041b","places":1},{"title":"Coupe \/ coach with compartments","letter":"\u041a","places":37},{"title":"Berth \/ third-class sleeper","letter":"\u041f","places":18}]}],"error":false,"data":null}
И выдает ошибку на этой строке:
Java
1
JSONArray types =  (JSONArray) values.get(k);
Bash
1
2
Exception in thread "main" java.lang.ClassCastException: org.json.simple.JSONObject cannot be cast to org.json.simple.JSONArray
    at TestBooking.main(TestBooking.java:48)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.11.2015, 20:11
Ответы с готовыми решениями:

Парсинг JSON
Здравствуйте. У меня есть такой json: {&quot;content&quot;:, &quot;number&quot;:6,&quot;numbertext&quot;:&quot;text&quot;} К массиву content я обращаюсь так: JSONObject...

Парсинг JSON строки
Доброго времени суток! :) Написал &quot;парсер&quot; JSON для своих нужд. :D Что парсил (пытался экранировать кавычки в строке, но форум их...

Парсинг JSON: поиск совпадений
Добрый день! Имеется JSON file данной структуры и либы json.org: { &quot;testusers&quot;: } Нужно пройтись по массиву и найти...

2
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
10.11.2015, 22:15
А подумать не пробовал?
Кликните здесь для просмотра всего текста
Java
1
JSONArray types =  (JSONArray) values.get("types");
0
2 / 2 / 2
Регистрация: 27.03.2013
Сообщений: 55
10.11.2015, 22:47  [ТС]
Cделал так, и выдает ошибку:
Bash
1
The method get(int) in the type ArrayList is not applicable for the arguments (String)
Добавлено через 21 минуту
Ошибка была в этом:
Java
1
JSONArray types =  (JSONArray)value_i.get("types");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2015, 22:47
Помогаю со студенческими работами здесь

Парсинг JSON с помошью Gson
Здравствуйте у меня такое задание: необходимо получить ArrayList из JSON файла, коотрый имеет следующий вид.{ &quot;usersArray&quot;:...

Парсинг не совсем валидного JSON
Вот так получаю сам JSON: public String readFile() throws FileNotFoundException, IOException { try (BufferedReader br = new...

Парсинг JSON в JSON Linked Data с использованием Hydra Java
Есть веб страница, на которой пользователь заполняет поля, жмет на кнопку и затем данные отправляются на сервер. На сервере работает...

JSON парсинг
Доброго времени суток. Есть json файл с набором точек ломанных линий. {&quot;WA&quot;: , , , , , , , , , , , , , , , , , , , , , , , , , ,...

Парсинг JSON
Собственно вопрос вот в чем: как можно char-символы из этого JSON преобразовать в текст (чтобы увидеть нормальный JSON файл с текстом) ? ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru