JSONPath 評価ツール(オンライン)

JSONPath式をJSONに対してテストし、マッチをブラウザ内でライブに確認。データは端末上に留まります。

JSONはブラウザ内でローカルに解析・照会され、アップロードされることはありませんが、機微な本番データをオンラインツールに貼り付けるのは避けてください。

先にツリー全体を読みたいですか?JSONビューアーをお試しください。

JSONPath 評価ツール について

このJSONPath評価ツールでは、JSONPath式でJSONドキュメントを照会し、入力に応じてマッチが更新される様子を見られます。任意のJSONオブジェクトや配列を貼り付け、$.store.book[*].author、$..price、$.items[?(@.active)] のようなパスを入力すると、マッチしたノード数、整形されたJSONとしてのマッチ値、そしてJSONポインターに切り替えるトグルが表示されます。JSONPathテスターとして完全な構文に対応します。$ ルート、ドットとブラケットによる子アクセス、.. 再帰下降演算子、[*] ワイルドカード、配列スライス、ユニオン、@ と比較を用いたフィルタ式です。例の式をクリックするとクエリボックスに入ります。不正なJSONや壊れたパスは、空白の画面ではなく明確なエラーを出します。すべてはブラウザ内で動作するため、評価するJSONは端末上に留まります。

機能

JSONPath 評価ツール の使い方

  1. JSONを左側のJSONパネルに貼り付けるか入力します。
  2. クエリボックスにJSONPath式を入力するか、例の1つをクリックします。
  3. 右側でマッチした値を読み、その上のマッチ数を確認します。
  4. Pathsに切り替えて各マッチのJSONポインターを見て、結果をコピーします。

入力

$.store.book[?(@.price < 10)].title

出力

[
  "Sayings of the Century",
  "Moby Dick"
]

フィルタ式が10未満の本だけを残し、各タイトルを射影します。

よくあるエラーとトラブルシューティング

よくある質問

JSONPathの $.. と $. の違いは何ですか。
$. はルートから階層ごとに正確なパスをたどるため、$.store.book は store 直下の book キーだけにマッチします。$.. は再帰下降演算子で、$..book はドキュメント内の任意の深さにあるすべての book キーを見つけます。フィールドがどこにあるか分からないときは $.. を使ってください。
このJSONPath評価ツールはフィルタ式に対応していますか。
はい。フィルタは [?(...)] 構文を使い、@ が現在のノードを表します。たとえば $.items[?(@.active)] や $.store.book[?(@.price < 10)] です。数値・文字列・真偽値を比較でき、&& と || で条件を組み合わせられます。
Pathsトグルは何を表示しますか。
各マッチに対して値の代わりにJSONポインターを返します。/store/book/0/author のような文字列で、ドキュメント内のノードの位置を示します。ポインターは、値が何かだけでなくどこにあるかを知りたいときに役立ちます。
なぜ式が想定より多くの結果にマッチするのですか。
ワイルドカードと再帰下降は貪欲です。[*] は配列の全要素やオブジェクトの全プロパティにマッチし、$.. はツリー全体を走査します。特定のキー、インデックス、[0:2] のような配列スライス、フィルタで結果を絞り込んでください。
一度に複数の配列要素を選択できますか。
はい。[0,2] のようなユニオンで特定のインデックスを選んだり、[1:3] のようなスライスで範囲を、[-1:] で最後の要素を選んだりできます。どちらもパスで到達した任意の配列で機能します。
クエリを実行するとき、JSONはどこかに送信されますか。
いいえ。式はすべてブラウザ内で評価されるため、貼り付けたJSONや実行したクエリは端末上でローカルに処理され、アップロードされることはありません。

関連ツール

すべての ArrayKit ツール