Skip to content

Latest commit

 

History

History
80 lines (56 loc) · 4.84 KB

README.md

File metadata and controls

80 lines (56 loc) · 4.84 KB

GitHub release GitHub license GitHub Releases GitHub All Releases

Build Status Quality Gate Coverage Tech debt

Checked by Silver Bulleters SonarQube BSL plugin

JSON data extraction application (jex)

Приложение для извлечения данных из строк и файлов JSON с помощью запросов JSON-path

Требуются следующие библиотеки и инструменты

Команды приложения


select - Извлечь данные из строки, файла или входящего потока JSON

Параметры:
--data - Строка JSON или путь к файлу JSON для извлечения данных
--path - Запрос в формате JSON-path
--encoding - Кодировка входящих данных (не используется при извлечении данных из строк) (по умолчанию: UTF-8)

Пример

rem Извлечение данных из строки JSON
jex select --data "{'Ключ':'Значение'}" --path "$.Ключ"
rem Извлечение данных из файла JSON
jex select --data "d:\tmp\MyDataFile.json" --path "$.Ключ" --encoding UTF-8
rem Извлечение данных из потока ввода
echo {"Ключ":"Значение"} | jex select --path "$.Ключ"

Прграммный интерфейс библиотеки (API)


Модуль ИзвлечениеДанных

Функция Выбрать() - извлекает данные из JSON-строки, файла или потока по указанному выражению JSON-path

Параметры:
ДанныеJSON Строка, Поток JSON-строка, путь к JSON-файлу или поток
Путь Строка выражение JSON-path для извлечения данных
Кодировка Строка используемая кодировка данных (не используется при извлечении данных из строк)
ИзвлекатьЕдинственноеЗначение Булево Если результирующий массив содержит единственное значение, то: Истина - будет возвращено значение; Ложь - будет возвращен массив.
JSONКакТекст Булево Истина - если результатом извлечения данных является JSON объект, результат будет возвращен в виде строки JSON;Ложь - результат будет возвращен в виде массива или соответствия
#Использовать jex

СтрокаJSON = "[{""Имя"":""Вася"",""Пол"":""Мужской"",""Возраст"":29},
             |{""Имя"":""Люба"",""Пол"":""Женский"",""Возраст"":30}]";

Результат = ИзвлечениеДанныхJSON.Выбрать(СтрокаJSON, "$..[?(@.Возраст >= 30)].Имя");