開発 へ戻る
JSON Path クエリ — JSONPath で JSON ツリーを探索

JSON Path クエリ — JSONPath で JSON ツリーを探索

JSON データに対して JSONPath クエリ (例: `$.store.book[*].author`) を実行して、必要な値だけを取り出します。jsonpath-plus (MIT) でブラウザ内処理、結果は値・パス・親ノードのいずれかで取得可能。API レスポンスの抽出、ログから特定フィールドだけ抜き出す、設定ファイルの値確認、DevTools での JSON 探索に便利。複雑な式 (`?(@.price < 10)` / `$..` / `[?(@.tag=='x')]`) も使えます。データはブラウザ内でのみ評価され、外部送信はありません。

開発JSON抽出

使い方

JSON を入力欄に貼り付け、JSONPath クエリ (例: `$.store.book[*].author`) を入力します。 「結果の種類」を選びます。値はマッチしたノードの中身、パスは JSONPath 表記の文字列、親はそのノードを含む親オブジェクト/配列。 結果は入力と同時に再評価され、件数と JSON が下に表示されます。「コピー」「JSON でダウンロード」で書き出せます。 サンプル ボタンを押すと、よく使われる books / bicycle のサンプル JSON と `$.store.book[*].author` のクエリが入ります。

よくある質問

どんなクエリが使えますか?
jsonpath-plus が実装する JSONPath 全般です。`$` (root) / `..` (再帰下降) / `[*]` (全要素) / `[?(@.price < 10)]` (フィルタ) / `[0:5]` (スライス) などが利用できます。詳しい構文は jsonpath-plus の README を参照してください。
「値」「パス」「親」の違いは?
「値」はマッチしたノードの中身そのもの (デフォルト)。「パス」はそのノードへの JSONPath 文字列 (`$.store.book[0].author` のような形式) を返します。「親」はマッチしたノードを直接含んでいるオブジェクト/配列を返します。
「配列をフラット化」とは?
JSONPath は常に複数マッチを想定しているため、デフォルトでは結果が 1 件でも配列 (`[...]`) でラップされます。ON にすると、1 件しか返らないクエリでは中身の値だけが出力されます (例: `$.expensive` で `10` をそのまま返す)。複数件マッチの場合は OFF と同じく配列のままです。
JSON のパースに失敗するときは?
JSON5 形式 (コメント、末尾カンマ、シングルクオート文字列など) は受け付けません。json5-format ツールで標準 JSON に変換してから貼り付けてください。
データはどこかに送信されますか?
いいえ。jsonpath-plus はすべてブラウザ内で動作し、JSON データはサーバーに送信されません。

類似のツール