ZeroTool Workbench
jq Playground
公式 jq 1.7 エンジンで JSON に対し jq フィルタを実行。pipe / select / map / group_by / sort / reduce 完全対応、インストール・アップロード・登録不要。
使い方
- 左側の JSON 入力 欄に JSON を貼り付けまたは入力します(サンプル users データが事前にロード済み)。
- jq フィルタ 欄に式を入力するか、下の 例 pill をクリック。
- 結果は 結果 欄に JSON シンタックスハイライト付きで表示されます。
- コピー ボタンで整形済み出力をクリップボードに転送できます。
jq チートシート
.— 恒等フィルタ、入力をそのまま出力.field— プロパティ値の取得.field?— オプショナル取得(フィールド欠落時もエラーにしない).[]— 配列・オブジェクトの値を反復.[start:end]— 配列スライスf | g— f の出力を g にパイプf, g— f と g の両方を出力select(cond)— cond が真の値のみ残すmap(f)— 配列の各要素に f を適用group_by(.k)— key でグループ化sort_by(.k)— key でソートlength、keys、values、type、has(k)— イントロスペクションadd、min、max、unique— 集計tonumber、tostring、ascii_downcase、split(”/”)— 変換reduce、foreach、def— 制御フローとカスタム関数
主な用途
jq は shell パイプラインで JSON を扱う標準ツールです:curl による API レスポンス、Kubernetes
マニフェスト、CI/CD ログ、AWS CLI 出力、IaC ステート、データエクスポート。この Playground は小さなサンプル
でフィルタを試作してから、表現をそのまま jq -r ’…’ で大きなファイルに流すための場所です。
よくあるレシピ:.items | map({id, name}) で API リスト応答を平坦化、
group_by(.tag) | map({tag: .[0].tag, count: length}) でイベントを tag 別にバケット化、
[.[] | .duration_ms] | add / length で数値フィールドの平均を計算。
FAQ
これは本物の jq ですか、それとも JavaScript 再実装ですか?
公式 jq 1.7 の C ソースを jq-web 経由で WebAssembly にコンパイルした版です。フィルタ出力はコマンドライン jq とバイト単位で一致します。エンジンは初回約 1MB ダウンロード、以降はブラウザキャッシュにより遅延ゼロで動作します。
どの jq 機能に対応していますか?
jq 1.7 構文をフル対応 — pipe、select、map、group_by、sort_by、reduce、foreach、try/catch、カスタム関数 def、再帰下降 ..、文字列・数学・日付関数、全ビルトイン。CLI で動作するフィルタはここでも動きます。
JSON とフィルタはサーバーに送信されますか?
送信されません。jq エンジンは WebAssembly でブラウザ内のみで動作します。JSON とフィルタ式は端末を出ません。DevTools の Network タブで jq.wasm の一度きりのダウンロードのみが確認できます。
JSON サイズの上限は?
実用上限は約 50MB — それ以上になるとブラウザメモリと解析時間が顕著に増加します。GB 級の JSON ストリームはコマンドライン jq の --stream モードを使用してください。
JSONPath Tester との違いは?
JSONPath はパスでノードを選択するクエリ言語。jq はパイプ・条件・数学・関数定義を備えた完全な変換言語です。単純な検索は JSONPath Tester、整形・絞り込み・集計・再フォーマットは jq。