Обработка JSON с помощью orgJSON в Java

Пример работы с JSON.org в Java: разбор и создание JSON

Эта статья является продолжением серии статей по работе с Json в Java. В прошлой статье мы разобрались с Json Simple API на примере, а в этой статье мы познакомимся с достаточно простым и удобным способом обработки Json в Java под названием JSON.org. 

JSON.org — это одна из первых open source библиотек для работы с JSON в Java. Она достаточно проста в использовании, однако не является самой гибкой и быстрой из существующих.

Обзор библиотеки JSON.org

JSON.org содержит классы для разбора и создания JSON из обычной Java-строки. Также она имеет возможность преобразовывать JSON в XML, HTTP header, Cookies и многое другое.

Основу этой библиотеки составляют следующие классы:

  1. Класс org.json.JSONObject — хранит неупорядоченные пары типа ключ — значение. Значение могут быть типа String, JSONArray, JSONObject.NULL, Boolean и Number. Класс JSONObject также содержит конструкторы для конвертации Java-строки в JSON и дальнейшего ее разбора в последовательность ключ-значений.
  2. Класс org.json.JSONTokener используется для разбора JSON строки, а также используется внутри классов JSONObject и JSONArray
  3. Класс org.json.JSONArray хранит упорядоченную последовательность значений в виде массива JSON элементов.
  4. Класс org.json.JSONWriter представляет возможность получения Json. Он содержит такие полезные в работе методы, как append(String) — добавить строку в JSON текст, key(String) и value(String) методы для добавления ключа и значения в JSON строку. Также org.json.JSONWriter умеет записывать массив.
  5. org.json.CDL — этот класс содержит методы для преобразования значений, разделенных запятыми, в объекты JSONArray и JSONArray.
  6. Класс org.json.Cookie располагает методами для преобразования файлов cookie веб-браузера в JSONObject и обратно.
  7. Класс org.json.CookieList помогает преобразовать список куки в JSONObject и обратно.

Добавление библиотеки json.org в проект

Для удобства я использовал среду разработки Intellij IDEA Community Edition. Если Вы не хотите создавать maven проект, то можете создать простой проект и вручную добавить .jar библиотеку в проект. Создадим maven проект и добавим в зависимости библиотеку org.json. Фрагмент файла pom.xml с зависимостями у меня выглядит следующим образом:

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

Пример работы с JSON.org в Java: разбор и создание JSON

Теперь перейдем к парсингу JSON. Для начала создадим класс JsonUtils, в котором напишем методы для парсинга определенных данных о погоде и формирования нового JSON объекта на основании наших данных:

Как видите, в коде нас также есть метод для конвертации указанного объекта JSONArray в отформатированную строку, готовую для записи в файл формата CSV.

Теперь напишем класс, в котором будем тестировать парсинг и создание json:

Обратите внимание на последний метод convertJsonToCsv(). Такой подход очень часто используется для автоматической конвертации json в csv.

Теперь запустим наш проект и посмотрим на вывод в консоль:

Скачать готовый проект в Intellij IDEA можно по ссылке.

Как видите, у нас получилось достаточно быстро и просто распарсить JSON, который получили в ответ от погодного сервиса, а потом и создать свой JSON объект и конвертировать его в строку, готовую для записи в CSV файл. Однако есть и еще более удобные и мощные библиотеки по обработке JSON в Java.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *