JSONPath テスター
JSONデータにJSONPath式をリアルタイムでテスト。結果をシンタックスハイライト付きで表示。フィルター・ワイルドカード・再帰下降に対応。無料・ブラウザ完結。
使い方
- JSON 入力パネルにJSONを貼り付けるか入力します(書店のサンプルデータがプリロードされています)。
- JSONPath 式フィールドに式を入力するか、例のピルをクリックします。
- 結果はシンタックスハイライト付きで結果パネルに即座に表示されます。
- コピーをクリックしてマッチした出力をクリップボードにコピーします。
JSONPath 構文リファレンス
$— ルート要素.key— 子プロパティ(ドット記法)[‘key’]— 子プロパティ(ブラケット記法)[n]— インデックスnの配列要素[*]— すべての配列要素またはオブジェクトプロパティ..key— 再帰下降 — ツリー内のどこでもkeyを検索[?(@.prop op value)]— フィルター式
主な使用シーン
JSONPathはAPIレスポンスからのデータ抽出、Kubernetesセレクターの設定、 テストスイート(Jest、Postman)でのアサーション記述、 AWS Step FunctionsやEventBridgeでのルーティングルール定義に広く活用されています。 JSONPath クエリを使いこなすことで、ネストされたJSON構造の処理効率が大幅に向上します。
FAQ
JSONPath とは何ですか?
JSONPath はJSONのクエリ言語で、XMLにおけるXPathに相当します。パス式を使ってJSONドキュメントからノードを選択します。Kubernetes、AWS Step Functions、Postmanなどのツールやテストフレームワーク、APIで広く使われています。
JSONPath 式の $ は何を意味しますか?
$ はJSONドキュメントのルート要素を指します。すべての有効なJSONPath式は $ で始まる必要があります。単体では $ がドキュメント全体を選択します。その後にセレクターを連結できます(例:$.store.book[0].title)。
配列のすべての要素を選択するには?
配列のキーの後にワイルドカードセレクター [*] を使います。例えば $.store.book[*] は配列内のすべてのbookオブジェクトを返します。さらに各要素に絞り込むことも可能です:$.store.book[*].author はすべてのauthor値を返します。
フィルター式はどう使いますか?
フィルター式の構文は [?(@.property operator value)] です。@ は現在の要素を指します。例えば $.store.book[?(@.price < 10)] は価格が10未満のすべての本を返します。対応演算子:==、!=、<、>、<=、>=。
再帰下降(..)とは何ですか?
.. 演算子は現在のノードのすべての子孫を再帰的に検索します。例えば $..author はネストの深さに関係なく、JSONツリー内のすべてのauthorフィールドを検索します。