Инструмент командной строки и язык запросов в духе jq для выборки, фильтрации и преобразования файлов Markdown.
01mf02/jaq
Клон jq на Rust, ориентированный на корректность, скорость и простоту; доступен как совместимый с jq CLI и как библиотека.
Open source альтернатива:jq
- Звёзды
- 3,809
- Форки
- 126
- Открытые issues
- 24
- Последний коммит
- вчера
Что это?
jaq — клон инструмента обработки JSON jq, написанный на Rust. Он призван стать полноценной заменой jq в командной строке и при этом обеспечивать более предсказуемую реализацию языка jq. Кроме того, jaq поддерживает форматы данных YAML, CBOR, TOML и XML, которых нет в jq.
jaq выпускается в двух вариантах: программа командной строки jaq и библиотека jaq-core, которая позволяет компилировать и запускать программы jq из кода на Rust. jaq-core можно безопасно использовать в многопоточных средах. Благодаря трейту ValT библиотека также работает с произвольными типами данных, а не только с JSON.
По данным проекта, jaq запускается быстрее jq — это важно при обработке множества небольших файлов. В проект также входит сравнение производительности с jq и gojq. Безопасность ядра проверена аудитом, а набор тестов содержит более 500 тестов.
Ключевые возможности
- 01Полноценная замена jq в командной строке
- 02Поддержка входных форматов YAML, CBOR, TOML и XML
- 03Библиотека jaq-core для запуска программ jq на Rust с безопасной работой в многопоточной среде
- 04Поддержка пользовательских типов данных через трейт ValT
- 05Быстрый запуск и сравнение производительности с jq и gojq
- 06Ядро прошло аудит безопасности; проект покрыт более чем 500 тестами
Сценарии использования
- Замена jq в shell-скриптах и конвейерах обработки JSON
- Обработка большого количества небольших файлов, когда время запуска jq заметно влияет на общую производительность
- Встраивание запросов в стиле jq в приложение на Rust
Быстрый старт
- 1
Установите jaq с crates.io с помощью Cargo
cargo install --locked jaq - 2
Установите jaq с помощью Homebrew на macOS или Linux
brew install jaq - 3
Или скачайте бинарный файл для вашей платформы со страницы релизов
Что важно знать
- jaq не защищает от исчерпания ресурсов, поэтому может неограниченно использовать время, память или пространство стека.
- Некоторые особенности поведения jaq намеренно отличаются от jq, поэтому совместимость не гарантирована во всех случаях.
В подборках
Темы
Частые вопросы
- Что такое jaq?
- Клон jq на Rust, ориентированный на корректность, скорость и простоту; доступен как совместимый с jq CLI и как библиотека. jaq — клон инструмента обработки JSON jq, написанный на Rust. Он призван стать полноценной заменой jq в командной строке и при этом обеспечивать более предсказуемую реализацию языка jq. Кроме того, jaq поддерживает форматы данных YAML, CBOR, TOML и XML, которых нет в jq.
- jaq можно использовать бесплатно? Какая у него лицензия?
- jaq распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- jaq всё ещё поддерживается?
- Активно поддерживается. Последний коммит в jaq — 21 окт. 2026 г..
- Для чего можно использовать jaq?
- Замена jq в shell-скриптах и конвейерах обработки JSON Обработка большого количества небольших файлов, когда время запуска jq заметно влияет на общую производительность Встраивание запросов в стиле jq в приложение на Rust
- Как установить jaq?
- Установите jaq с crates.io с помощью Cargo: cargo install --locked jaq Установите jaq с помощью Homebrew на macOS или Linux: brew install jaq Или скачайте бинарный файл для вашей платформы со страницы релизов
- Где скачать jaq?
- Исходный код и инструкции по установке — на GitHub: https://github.com/01mf02/jaq
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Терминальный просмотрщик и обработчик JSON для интерактивной навигации, сворачивания и преобразования данных в shell.
Утилита командной строки на Rust для просмотра, фильтрации, агрегации, объединения и преобразования CSV- и TSV-файлов прямо в shell.
Консольная программа для просмотра логов: преобразует JSON и logfmt в удобный для чтения формат, поддерживает фильтрацию, сортировку и слежение за обновлениями.
Декларативный пакет Go для создания CLI-приложений с подкомандами, флагами, автодополнением команд и генерацией справки.
CLI-инструмент и библиотека Python для преобразования вывода команд, файлов и строк в JSON, YAML или словари.