Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 13.11.2014
Сообщений: 72

JSON.simple Java

20.08.2015, 04:59. Показов 1974. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Вот разбираюсь с json и столкнулся с проблемой перебора, опять же, ранее использовал json в as3 и php, но в jave всё совсем не так, как там)
Есть массив такого вида
JSON
1
{"exp": 20,"drop":{"id":1,"min": 1, "max": 2, "chance":1},{"id":2,"min": 1, "max": 2, "chance":1}}
Я его парсю
Java
1
2
3
4
5
6
7
8
9
JSONParser parser = new JSONParser();
         try {
                Object obj = parser.parse(info);
                jsonObj = (JSONObject) obj;
                //System.out.println(jsonObj.get("type"));
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
В итоге к ключам можно обращаться таким образом
Java
1
2
System.out.println(jsonObj.get("exp"));
System.out.println(jsonObj.get("drop"));
Вроде бы всё нормально, но как мне теперь перебрать массивы ключа "drop"? foreach как такового в jave нету, есть, но выглядит иначе и не совсем то что нужно. Суть в том, что мне надо перебрать все массивы ключа drop, то есть получить значение id:1, id:2, а также остальные ключи, по элементам, то есть вид должен быть такой
drop[0].id = 1;
drop[1].id = 2;
И т.д. Смотрел что надо как-то через JSONArrayList это дело прогонять, но я находил информацию только в библиотеке
org.json.JSONArray; то есть без simple, а это судя по всему совершенно другая библиотека. Подскажите кому не сложно, что-то пока не могу догадаться, как все же реализовать перебор.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.08.2015, 04:59
Ответы с готовыми решениями:

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

И снова Java + JSON
Доброго времени суток. Есть сервер с базой данных и PHP скриптом (API). И есть клиент, написанный на Java. Клиентская часть состоит из...

Как добавить к проекту в IntelliJ библиотеку JSON-java?
Пробую добавить к проекту библиотеку через окно Project Structure. Что пробовал: Скачивал все .java файлы из репозитория, потом...

9
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
20.08.2015, 06:29
Java
1
(JSONArray)jsonObj.get("drop");
Выкинь этот бред и используй нормальные библиотеки: gson или jackson.
1
20.08.2015, 09:04

Не по теме:

Цитата Сообщение от Godwarlock Посмотреть сообщение
foreach как такового в jave нету
не и совсем по теме, но мне кажется, что foreach таки есть

0
0 / 0 / 1
Регистрация: 13.11.2014
Сообщений: 72
20.08.2015, 18:19  [ТС]
aleksandy, почему бред? Чем она плоха?

Добавлено через 1 час 32 минуты
В общем разобрался. Поискал еще в гугле и всё таки наткнулся на то что нужно.
0
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
20.08.2015, 18:32
Всем.

У тебя, кстати, json невалидный.
0
0 / 0 / 1
Регистрация: 13.11.2014
Сообщений: 72
20.08.2015, 18:56  [ТС]
aleksandy, Если бы я знал до момента, что это не так, то наверно тему не создавал) Потому что я вчера вроде делал всё правильно, но никаких ошибок, собственно как и результата не было. А вот буквально час назад, я решил вновь запустить проект и тут бац откуда не возьмись(причем я ничего не менял) стали выпрыгивать ошибки. Минут 15 побившись с причиной, понял что да, json был неправильный и когда я его переписал, как в прочем и подправил код внутри Java всё заработало.
А так, для уточнения, мне бессмысленно кидать ссылки на англ. сайты, поэтому большинство ваших ответов мне никак не помогает. Технический английский я еще может быть да разжую, но целое описание, публикацию, для меня на данный момент непосильный труд)
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
20.08.2015, 21:16
Цитата Сообщение от Godwarlock Посмотреть сообщение
А так, для уточнения, мне бессмысленно кидать ссылки на англ. сайты
и все конечно об этом знают т.к курсы экстрасенсов закончили на отлично.
0
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
21.08.2015, 06:31
Умение читать хотя бы с гуглопереводчиком - это обязательное умение, отсутствие которого даже не подразумевается. После таких заявлений вести какой-то диалог бессмысленно, т.к. человеку просто не место в профессии.
1
0 / 0 / 1
Регистрация: 13.11.2014
Сообщений: 72
21.08.2015, 18:37  [ТС]
aleksandy, Гугл переводчик? Он искажает вообще всё понятие, которое переводит.
0
 Аватар для ne2win
206 / 206 / 71
Регистрация: 25.02.2014
Сообщений: 569
21.08.2015, 18:46
Godwarlock, нужно слова непонятные переводить а не статью
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.08.2015, 18:46
Помогаю со студенческими работами здесь

Конвертер (сериализатор) JSON -> JSON Linked Data
Подскажите, пожалуйста, какую-нибудь хорошую библиотеку на java, которая позволяет конвертировать данные формата JSON в данные в формате...

Тест NIO (simple code)
Здравствуйте. Решил сделать тест nio на задержку канала и получил неожиданные результаты. ...

Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ?
Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ? Ответье, плиз, новичку, по MSDN я не понятно, это исключительно...

Error:(10, 42) java: incompatible types: int cannot be converted to java.math.BigDecimal
import java.math.*; import java.util.Scanner; public class Factorial { public static void main(String args) { Scanner...

Посоветуйте примеры кода по Java. Теория прочтена, но с языком Java не знакома
Или может кто может дать готовый код. В теории вроде бы не очень сложно. :cry: 1.Напишите процедуру, которая по заданному сообщению...


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

Или воспользуйтесь поиском по форуму:
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 и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru