Markdownファイルの切り出し、フィルタリング、変換を行う、jq風のCLIツール兼クエリ言語。
- スター
- 3,809
- フォーク
- 126
- 未解決の Issue
- 24
- 最終コミット
- 昨日
これは何?
jaqは、JSON処理ツールjqのRust製クローンです。コマンドラインでjqのドロップイン代替として使えることを目指し、jq言語をより予測しやすい形で実装しています。また、jqが対応していないYAML、CBOR、TOML、XML形式のデータも扱えます。
jaqには、jaqという名前のコマンドラインプログラムと、Rustコード内からjqプログラムをコンパイルして実行するjaq-coreライブラリの2種類があります。jaq-coreはマルチスレッド環境でも安全に使え、ValTトレイトを通じてJSON以外の任意のデータ型にも対応します。
プロジェクトによると、jqより起動が速く、多数の小さなファイルを処理する場合に効果があります。また、jqやgojqとのベンチマーク比較も公開しています。コア部分はセキュリティ監査を受けており、500件を超えるテストも用意されています。
主な機能
- 01jqのドロップイン代替となるコマンドラインツール
- 02YAML、CBOR、TOML、XML形式の入力に対応
- 03Rustでjqプログラムを実行でき、スレッドセーフなjaq-coreライブラリ
- 04ValTトレイトを使って独自のデータ型に拡張可能
- 05起動が速く、jqやgojqとのベンチマークを公開
- 06コア部分はセキュリティ監査済みで、500件を超えるテストで検証
ユースケース
- JSONを処理するシェルスクリプトやパイプラインでjqを置き換える
- jqの起動時間が積み重なる、多数の小さなファイルの処理
- Rustアプリケーションにjq風のクエリを組み込む
クイックスタート
- 1
Cargo を使って crates.io から jaq をインストール
cargo install --locked jaq - 2
macOS または Linux で Homebrew を使って jaq をインストール
brew install jaq - 3
または、リリースページからお使いのプラットフォーム用のバイナリをダウンロード
使う前に知っておきたいこと
- jaq はリソース枯渇への対策を行わないため、時間、メモリ、スタック領域を無制限に使用する可能性があります。
- 一部の動作は設計上 jq と異なるため、すべてのケースで互換性があるわけではありません。
トピック
よくある質問
- jaq とは?
- 正確さ・速度・シンプルさを重視したRust製jqクローン。jq互換CLIとしてもライブラリとしても使えます。 jaqは、JSON処理ツールjqのRust製クローンです。コマンドラインでjqのドロップイン代替として使えることを目指し、jq言語をより予測しやすい形で実装しています。また、jqが対応していないYAML、CBOR、TOML、XML形式のデータも扱えます。
- jaq は無料で使えますか?ライセンスは?
- jaq は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- jaq は今もメンテナンスされていますか?
- 活発にメンテナンス中。jaq の最終コミットは 2026年10月21日 です。
- jaq は何に使えますか?
- JSONを処理するシェルスクリプトやパイプラインでjqを置き換える jqの起動時間が積み重なる、多数の小さなファイルの処理 Rustアプリケーションにjq風のクエリを組み込む
- jaq のインストール方法は?
- Cargo を使って crates.io から jaq をインストール: cargo install --locked jaq macOS または Linux で Homebrew を使って jaq をインストール: brew install jaq または、リリースページからお使いのプラットフォーム用のバイナリをダウンロード
- jaq はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/01mf02/jaq
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
シェル上でJSONを対話的に閲覧、折りたたみ、変換できるターミナル用JSONビューア兼プロセッサです。
シェル上でCSVやTSVをプレビュー、絞り込み、集計、結合、変換できるRust製コマンドラインツール。
JSONやlogfmtのログを読みやすく表示し、フィルタリング、ソート、ライブ追従にも対応するコマンドラインログビューア。
サブコマンド、フラグ、シェル補完、ヘルプ生成に対応した、CLI構築用の宣言的なGoパッケージ。
一般的なコマンドラインツールの出力、ファイル形式、文字列をJSON、YAML、辞書に変換するCLIツール兼Pythonライブラリ。