Repolode
01mf02

01mf02/jaq

正確さ・速度・シンプルさを重視したRust製jqクローン。jq互換CLIとしてもライブラリとしても使えます。

代替できる製品:jq

スター
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. 1

    Cargo を使って crates.io から jaq をインストール

    cargo install --locked jaq
  2. 2

    macOS または Linux で Homebrew を使って jaq をインストール

    brew install jaq
  3. 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 の数値は毎日更新されます。

関連プロジェクト