2025-03-14 21:59:59 -06:00
|
|
|
|
# jq
|
|
|
|
|
|
|
2025-12-16 10:20:31 -07:00
|
|
|
|
> Процессор JSON, использующий предметно-ориентированный язык (DSL).
|
2025-03-14 21:59:59 -06:00
|
|
|
|
> Больше информации: <https://jqlang.github.io/jq/manual/>.
|
|
|
|
|
|
|
2025-12-16 10:20:31 -07:00
|
|
|
|
- Выполнить указанное выражение с выводом в цветном и отформатированном виде:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2025-12-16 10:20:31 -07:00
|
|
|
|
`jq '.' {{путь/к/файлу.json}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
|
|
|
|
|
- Выполнить указанный скрипт:
|
|
|
|
|
|
|
2025-12-16 10:20:31 -07:00
|
|
|
|
`{{cat путь/к/файлу.json}} | jq {{[-f|--from-file]}} {{путь/к/скрипту.jq}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2025-12-16 10:20:31 -07:00
|
|
|
|
- Передать указанные аргументы:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
|
|
|
|
|
`{{cat путь/к/файлу.json}} | jq {{--arg "имя1" "значение1" --arg "имя2" "значение2" ...}} '{{. + $ARGS.named}}'`
|
|
|
|
|
|
|
2025-12-16 10:20:31 -07:00
|
|
|
|
- Создать новый объект JSON на основе объектов из нескольких файлов:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2025-12-16 10:20:31 -07:00
|
|
|
|
`{{cat путь/к/нескольким_json_файлам_*.json}} | jq '{{{новый_ключ1: .ключ1, новый_ключ2: .ключ2.вложенный_ключ, ...}}}'`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
|
|
|
|
|
- Вывести указанные элементы массива:
|
|
|
|
|
|
|
|
|
|
|
|
`{{cat путь/к/файлу.json}} | jq '{{.[индекс1], .[индекс2], ...}}'`
|
|
|
|
|
|
|
2025-12-16 10:20:31 -07:00
|
|
|
|
- Вывести все элементы массива/значения объекта:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
|
|
|
|
|
`{{cat путь/к/файлу.json}} | jq '.[]'`
|
|
|
|
|
|
|
2025-12-16 10:20:31 -07:00
|
|
|
|
- Вывести объекты из массива, отфильтровав их по двум условиям:
|
|
|
|
|
|
|
|
|
|
|
|
`{{cat путь/к/файлу.json}} | jq '.[] | select((.ключ1=="значение1") and .ключ2=="значение2")'`
|
|
|
|
|
|
|
2025-03-14 21:59:59 -06:00
|
|
|
|
- Добавить/удалить указанные ключи:
|
|
|
|
|
|
|
|
|
|
|
|
`{{cat путь/к/файлу.json}} | jq '. {{+|-}} {{{"ключ1": "значение1", "ключ2": "значение2", ...}}}'`
|