Клон jq на Rust, ориентированный на корректность, скорость и простоту; доступен как совместимый с jq CLI и как библиотека.
jqlang/jq
Лёгкий процессор JSON для командной строки, написанный на переносимом C без зависимостей времени выполнения. Позволяет выбирать, фильтровать, сопоставлять и преобразовывать данные JSON.
- Звёзды
- 36,046
- Форки
- 3,068
- Открытые issues
- 419
- Последний коммит
- 4 дня назад
Что это?
jq работает с данными JSON примерно так же, как sed, awk или grep. Передайте ему JSON через конвейер и задайте выражение-фильтр, чтобы выбрать поля, изменить структуру объектов или вычислить новые значения. Результат jq выводит в стандартный поток вывода.
jq написан на переносимом C и не имеет зависимостей времени выполнения, поэтому его можно установить как один автономный исполняемый файл. На странице релизов доступны готовые бинарные файлы для macOS и Linux, а также образ Docker. Для сборки из исходного кода нужны libtool, make, automake и autoconf. Проект поддерживает статическую компоновку и кросс-компиляцию.
В проекте есть онлайн-песочница play.jqlang.org, где можно попробовать фильтры перед использованием в скриптах.
Ключевые возможности
- 01Выбирает, фильтрует, сопоставляет и преобразует данные JSON с помощью языка выражений-фильтров.
- 02Работает как автономный исполняемый файл без зависимостей времени выполнения.
- 03Написан на переносимом C; поддерживает статическую компоновку и кросс-компиляцию.
- 04Доступен в виде готовых бинарных файлов для macOS и Linux, а также образа Docker.
- 05Включает онлайн-песочницу для проверки фильтров.
Сценарии использования
- Извлечение поля, например номера версии, из файла package.json в shell-скрипте.
- Преобразование ответов API в другую структуру перед сохранением или отображением.
- Фильтрация больших JSON-логов или экспортированных данных из командной строки.
- Выполнение преобразований JSON в Docker-контейнерах или CI-конвейерах без установки дополнительных сред выполнения.
Быстрый старт
- 1
Скачайте готовый бинарный файл со страницы релизов
- 2
Переименуйте скачанный файл в jq и сделайте его исполняемым
chmod +x jq - 3
Или запустите его с помощью Docker для файла package.json
docker run --rm -i -v "$PWD:$PWD" -w "$PWD" ghcr.io/jqlang/jq:latest '.version' package.json
В подборках
Темы
Частые вопросы
- Что такое jq?
- Лёгкий процессор JSON для командной строки, написанный на переносимом C без зависимостей времени выполнения. Позволяет выбирать, фильтровать, сопоставлять и преобразовывать данные JSON. jq работает с данными JSON примерно так же, как sed, awk или grep. Передайте ему JSON через конвейер и задайте выражение-фильтр, чтобы выбрать поля, изменить структуру объектов или вычислить новые значения. Результат jq выводит в стандартный поток вывода.
- jq можно использовать бесплатно? Какая у него лицензия?
- jq распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- jq всё ещё поддерживается?
- Активно поддерживается. Последний коммит в jq — 2 нояб. 2026 г..
- Для чего можно использовать jq?
- Извлечение поля, например номера версии, из файла package.json в shell-скрипте. Преобразование ответов API в другую структуру перед сохранением или отображением. Фильтрация больших JSON-логов или экспортированных данных из командной строки. Выполнение преобразований JSON в Docker-контейнерах или CI-конвейерах без установки дополнительных сред выполнения.
- Как установить jq?
- Скачайте готовый бинарный файл со страницы релизов Переименуйте скачанный файл в jq и сделайте его исполняемым: chmod +x jq Или запустите его с помощью Docker для файла package.json: docker run --rm -i -v "$PWD:$PWD" -w "$PWD" ghcr.io/jqlang/jq:latest '.version' package.json
- Где скачать jq?
- Исходный код и инструкции по установке — на GitHub: https://github.com/jqlang/jq
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Инструмент командной строки и язык запросов в духе jq для выборки, фильтрации и преобразования файлов Markdown.
Инструмент командной строки и язык запросов в духе jq для анализа бинарных форматов; включает декодеры для десятков форматов.
CLI-инструмент и библиотека Go для поиска и изменения данных в JSON, YAML, TOML, XML, CSV и других структурированных форматах с помощью единого синтаксиса селекторов.
Декларативный пакет Go для создания CLI-приложений с подкомандами, флагами, автодополнением команд и генерацией справки.
Терминальный просмотрщик и обработчик JSON для интерактивной навигации, сворачивания и преобразования данных в shell.