JSONPathテスター
そのパスが実際に何を選ぶか。
例を読み込むと入力と設定が一時的に変わります。元の内容に戻せます。
0文字
出力
上に貼り付けるか入力すると、ここに結果が表示されます。
ファイルは端末の外に出ません
このツールはすべてブラウザ内で動作します。貼り付けた内容は端末内で処理され、サーバーには送信されないため、トークンや鍵、未公開の文章でも安心して使えます。
使用例
計算・変換例 — JSONPathテスター
入力行を順番に入力し、以下の設定を使います。結果を出力行と比較してください。
| 項目 | 値 |
|---|---|
| 入力 1 | {"users":[{"name":"Ada"},{"name":"Lin"}]} |
| パス | $.users[*].name |
| 結果の表示 | JSON |
| インデント | スペース2 |
| 出力 1 | ["Ada","Lin"] |
ワイルドカードで 2 人を選び、.name で名前を取り出すと配列 ["Ada","Lin"] になります。
使い方
- JSONを貼り付けます。
- パスを入力します。$.users[*].email、$..price、$.items[?(@.qty > 2)].name など。
- 戻ってきた内容と、その上の件数を確認します。
- 他所に貼るための一覧が欲しいときは「1件1行」に切り替えます。
よくある質問
- どの方言に対応していますか?
- どの実装でも共通して通る部分です。JSONPathには2024年のRFC 9535まで仕様そのものがなく、その頃には各ライブラリが独自方言を持っていました。ここでは名前・添字・スライス・ワイルドカード・再帰下降・比較フィルタに対応し、それを超える書き方はその旨を表示します。
- スクリプト式は実行できますか?
- 意図的にできません。実装によっては $.a[(@.length-1)] を言語の評価器に渡して実行します。貼り付けられた文字列に対してそれを行うのは擁護できないので、実行せず説明を返します。
- フィルタでは何が比較できますか?
- == != > >= < <= と、正規表現の =~ です。@.qty > 2、@.name == "ada"、@.sku =~ /^AB/、あるいは存在確認だけの @.deleted のように書けます。
- 何もマッチしないのはなぜですか?
- たいてい階層が1つ多いか少ないかです。$、$.store、$.store.book と1段ずつ伸ばして、どこでマッチが止まるかを見てください。
- サーバーに送信されますか?
- いいえ。ブラウザの中だけで動くので、入力した内容はお使いのパソコンから出ません。