ZeroTool Workbench

jq Playground

公式 jq 1.7 エンジンで JSON に対し jq フィルタを実行。pipe / select / map / group_by / sort / reduce 完全対応、インストール・アップロード・登録不要。

100% クライアントサイド データはブラウザ外に出ません 無料 · 登録不要
結果

エンジン:jq 1.7(WASM、初回ロード後はキャッシュ)

使い方

  1. 左側の JSON 入力 欄に JSON を貼り付けまたは入力します(サンプル users データが事前にロード済み)。
  2. jq フィルタ 欄に式を入力するか、下の pill をクリック。
  3. 結果は 結果 欄に JSON シンタックスハイライト付きで表示されます。
  4. コピー ボタンで整形済み出力をクリップボードに転送できます。

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 でソート
  • lengthkeysvaluestypehas(k) — イントロスペクション
  • addminmaxunique — 集計
  • tonumbertostringascii_downcasesplit(”/”) — 変換
  • reduceforeachdef — 制御フローとカスタム関数

主な用途

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。