hub.oscript.io
hub.oscript.io
Войти

jexпакет

скачиваний: 16репозиторий: github.com/oscript-library/jex

Пакет лежит в основном пуле хаба, а opm знает этот хаб по умолчанию: короткой формы достаточно.

opm install jex

Скачанный файл ставится командой opm install -f <файл> — сеть для этого уже не нужна.

Описание

JSON data extraction application (jex)

GitHub release GitHub license GitHub Releases GitHub All Releases

Build Status Quality Gate Coverage Tech debt

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

<a id="Зависимости"></a> Требуются следующие библиотеки и инструменты

<a id="Приложение"></a> Команды приложения


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 "$.Ключ"

<a id="Библиотека"></a> Прграммный интерфейс библиотеки (API)


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

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

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

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

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