JSONPath クエリテスター | ブラウザで JSONPath を試して結果を確認
JSON を貼り付けて JSONPath クエリを入力すると、一致した値と件数が右側に表示されるテスター。ルート $・ドット記法・[]・ワイルドカード・再帰下降 ..・フィルタ ?()・スライスの主要構文に対応する。
💡 このツールについて
API レスポンスや設定ファイルの JSON から、目的の値だけを抜き出したい場面は多い。「ネストの深い配列から author だけ全部欲しい」「価格が一定以下の要素に絞りたい」といった抽出は、手で辿るとミスが出やすく、コードに書いて実行するのも手間がかかる。
JSONPath は、そうした抽出条件を 1 行の式で書ける問い合わせ記法。ただし式の挙動は頭の中だけでは確かめにくく、[*] と [0] の違いや、.. がどこまで潜るかは実際に走らせて見るのが早い。このテスターは、貼り付けた JSON に対して式を評価し、ヒットした要素と件数を返す。クエリ例のボタンを押せば代表的な構文の挙動も比較できる。式を組み立てる試行錯誤を、コードを書かずに閉じた環境で回せる。
🧐 よくある質問
どの構文に対応していますか?
ルート $、ドット記法($.store.book)、ブラケット表記 []、ワイルドカード * と [*]、再帰下降 ..、フィルタ ?(@.price<10)、配列スライス [-1:] や [0:2]、和集合 [0,1] に対応します。
フィルタ式ではどんな比較が使えますか?
@.key に対して == != < > <= >= の比較演算子が使えます。$.store.book[?(@.price<10)] のように、価格や数量で配列要素を絞り込めます。
結果の件数が 0 になるのはなぜですか?
キー名の打ち間違い、配列でない要素にスライスやフィルタを当てている、$ で始まっていない、といった原因が多いです。まず JSON 側のキー名を確認してください。
JSON にエラーがあるとどうなりますか? JSON として解釈できない場合は解析エラーが表示され、結果欄は空になります。括弧やカンマの対応を直すと評価が再開されます。
大文字小文字は区別されますか?
キー名は区別します。Author と author は別のキーとして扱われます。
📚 豆知識
JSONPath は XML 用の問い合わせ言語 XPath に着想を得て 2007 年頃に提案された記法で、. や .. といった記号の発想は XPath から受け継いでいる。長らく実装ごとに細部の挙動が分かれていたが、2024 年に RFC 9535 として標準化され、フィルタ式や和集合の解釈に共通の土台ができた。実装によって対応範囲が異なるため、運用環境のライブラリで通る式かどうかは別途確認しておくと安全。