Парсинг JSON
JSON — текстовый формат обмена данными, основанный на JavaScript, который является основным форматом, используемым при передаче данных с помощью REST-запросов. Данные, полученные в формате JSON, в исходном виде непригодны для дальнейшего анализа в Loginom. Но эту проблему можно решить с помощью компонента JavaScript.
Пример демонстрирует распаковку данных, полученных в формате JSON, с помощью Loginom.
В качестве источника используется сервис https://www.cbr-xml-daily.ru/. Данные представлены курсами валют на заданную дату.
В сценарии используется компонент из библиотеки silver kit.
Примечание: Демопример имеет ограничение демонстрации всех возможностей при запуске на демостенде (Запустить демо). Рекомендуем установить пример локально.
Описание алгоритма
1. Запрос к сервису
С сайта получены данные о курсах валют на определенную дату в формате JSON:
На входе подмодели Запрос к сервису задано значение переменной Дата
.
При формировании запроса на основании полученной переменной рассчитываются вспомогательные параметры 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-парсер JS (выполнение)
из библиотеки silver kit осуществляется обработка ответа для вывода результата в виде «ключ:значение».
В узле Фильтр строк отсекаются не относящиеся к «ключ:значение» поля. Настройки узла:
Parent не в списке root root:Valute
С помощью узла Кросс-таблица данные преобразуются в удобный для дальнейшей обработки табличный вид.
Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно
Минимальные требования к системе:
- Операционная система: Windows 8.1 и выше.
- CPU x64: 1 core.
- Оперативная память: 1 GB.
- Жесткий диск: 10 GB.