https://github.com/arkuznetsov/jex
Приложение для извлечения данных из строк и файлов JSON с помощью запросов JSON-path
https://github.com/arkuznetsov/jex
bsl cli json onescript oscript
Last synced: 5 months ago
JSON representation
Приложение для извлечения данных из строк и файлов JSON с помощью запросов JSON-path
- Host: GitHub
- URL: https://github.com/arkuznetsov/jex
- Owner: arkuznetsov
- License: mit
- Created: 2022-09-14T21:24:07.000Z (about 3 years ago)
- Default Branch: develop
- Last Pushed: 2022-12-19T06:28:31.000Z (almost 3 years ago)
- Last Synced: 2025-04-08T14:12:13.272Z (6 months ago)
- Topics: bsl, cli, json, onescript, oscript
- Language: 1C Enterprise
- Homepage:
- Size: 35.2 KB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/ArKuznetsov/jex/releases)
[](https://github.com/ArKuznetsov/jex/blob/develop/LICENSE)
[](https://github.com/ArKuznetsov/jex/releases)
[](https://github.com/ArKuznetsov/jex/releases)[](https://github.com/arkuznetsov/jex/actions/)
[](https://open.checkbsl.org/dashboard/index/jex)
[](https://open.checkbsl.org/dashboard/index/jex)
[](https://open.checkbsl.org/dashboard/index/jex)# JSON data extraction application (jex)
Приложение для извлечения данных из строк и файлов JSON с помощью запросов JSON-path
* [Зависимости](#Зависимости)
* [Команды приложения](#Приложение)
* [Библиотека](#Библиотека)## Требуются следующие библиотеки и инструменты
* [jexlib](https://github.com/ArKuznetsov/jexlib)
* [logos](https://github.com/oscript-library/logos)
* [cli](https://github.com/Stepa86/cli)---
## select - Извлечь данные из строки, файла или входящего потока JSON
| Параметры: ||
|-|-|
| **--data** | - Строка JSON или путь к файлу JSON для извлечения данных |
| **--path** | - Запрос в формате JSON-path |
| **--encoding** | - Кодировка входящих данных (не используется при извлечении данных из строк) (по умолчанию: UTF-8) |#### Пример
```bat
rem Извлечение данных из строки JSON
jex select --data "{'Ключ':'Значение'}" --path "$.Ключ"
``````bat
rem Извлечение данных из файла JSON
jex select --data "d:\tmp\MyDataFile.json" --path "$.Ключ" --encoding UTF-8
``````bat
rem Извлечение данных из потока ввода
echo {"Ключ":"Значение"} | jex select --path "$.Ключ"
```## Прграммный интерфейс библиотеки (API)
---
### Модуль ИзвлечениеДанных
#### **Функция Выбрать()** - извлекает данные из JSON-строки, файла или потока по указанному выражению JSON-path
| Параметры: |||
|-|-|-|
| ДанныеJSON | Строка, Поток | JSON-строка, путь к JSON-файлу или поток |
| Путь | Строка | выражение JSON-path для извлечения данных |
| Кодировка | Строка | используемая кодировка данных (не используется при извлечении данных из строк) |
| ИзвлекатьЕдинственноеЗначение | Булево | Если результирующий массив содержит единственное значение, то: Истина - будет возвращено значение; Ложь - будет возвращен массив. |
| JSONКакТекст | Булево | Истина - если результатом извлечения данных является JSON объект, результат будет возвращен в виде строки JSON;Ложь - результат будет возвращен в виде массива или соответствия |```bsl
#Использовать jexСтрокаJSON = "[{""Имя"":""Вася"",""Пол"":""Мужской"",""Возраст"":29},
|{""Имя"":""Люба"",""Пол"":""Женский"",""Возраст"":30}]";Результат = ИзвлечениеДанныхJSON.Выбрать(СтрокаJSON, "$..[?(@.Возраст >= 30)].Имя");
```