Парсинг JSON

JSON — текстовый формат обмена данными, основанный на JavaScript, который является основным форматом, используемым при передаче данных с помощью REST-запросов. Данные, полученные в формате JSON, в исходном виде непригодны для дальнейшего анализа в Loginom. Но эту проблему можно решить с помощью компонента JavaScript.

Пример демонстрирует распаковку данных, полученных в формате JSON, с помощью Loginom.

В качестве источника используется сервис https://www.cbr-xml-daily.ru/. Данные представлены курсами валют на заданную дату.

В сценарии используется компонент из библиотеки silver kit.

Запустить демо

Установить локально

Примечание: Демопример имеет ограничение демонстрации всех возможностей при запуске на демостенде (Запустить демо). Рекомендуем установить пример локально.

Описание алгоритма

1. Запрос к сервису

С сайта получены данные о курсах валют на определенную дату в формате JSON:

а) Установка значений переменных

На входе подмодели Запрос к сервису задано значение переменной Дата.

б) Сборка URL

При формировании запроса на основании полученной переменной рассчитываются вспомогательные параметры year, month, day (год, месяц, день).

В зависимости от значения переменной, заданной на входе подмодели Запрос к сервису, формируется URL к соответствующей странице сайта. Если заданная дата меньше текущей на 3 дня, то запрос направляется в архив. В противоположном случае курс валют можно получить по основному пути к сайту.

URL формируется в узле Сборка URL с помощью функции Format:

IF(Now()-date >= 3, Format("https://www.cbr-xml-daily.ru/archive/%s/%s/%s/daily_json.js", year, month, day), "https://www.cbr-xml-daily.ru/daily_json.js")

в) Настройка подключения

На странице Подключения настроено подключение REST-сервис:

  • URL сервиса: https://www.cbr-xml-daily.ru/daily_json.js
  • Метод: GET
  • Типа авторизации: Не требуется

На вход узла REST-сервис, созданного на основе настроенного подключения, подан URL, сформированный в узле Сборка URL.

г) Отправка запроса

Узел Вызов REST-сервиса отправляет запрос к веб-сервису и возвращает ответ в формате JSON.

2. Обработка JSON формата

В подмодели Обработка JSON формата выполняется парсинг полученных данных и их постобработка для корректного вывода.

а) Обработка JSON

С помощью компонента JSON-парсер JS (выполнение) из библиотеки silver kit осуществляется обработка ответа для вывода результата в виде «ключ:значение».

б) Фильтр строк

В узле Фильтр строк отсекаются не относящиеся к «ключ:значение» поля. Настройки узла:

Parent не в списке root root:Valute

в) Кросс-таблица

С помощью узла Кросс-таблица данные преобразуются в удобный для дальнейшей обработки табличный вид.


Импорт JSON файла

Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно

Скачать демопример

Минимальные требования к системе:

  • Операционная система: Windows 10 и выше
  • CPU x64: 2 core 1
  • Оперативная память: 4 GB
  • Жесткий диск: 10 GB

1 Поддерживается работа на x64 процессорах Intel Core, AMD FX и более новых, содержащих инструкции SSE4.2 (POPCNT, LZCNT).