Пакет лежит в основном пуле хаба, а opm знает этот хаб по умолчанию: короткой формы достаточно.
opm install jexСкачанный файл ставится командой opm install -f <файл> — сеть для этого уже не нужна.
Описание
JSON data extraction application (jex)
Приложение для извлечения данных из строк и файлов 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)].Имя");