JSONPathテスター
JSONPath式を入力して、APIレスポンスや設定JSONから必要な値だけをすばやく抽出できます。処理はブラウザ内で完結し、結果のパスと値を同時に確認できます。
JSONデータ入力
抽出結果
抽出結果がここに表示されます
$.store.book[0].title、$..price、$.users[?(@.active==true)].nameよく使うJSONPath式
対応する主な構文
$ルートオブジェクト.nameまたは['name']プロパティ[0]配列インデックス[*]ワイルドカード..price再帰下降[?(@.key==value)]単純フィルター[0:3]配列スライス
JSONPathテスターの使い方
APIレスポンス、ログ、設定ファイルから目的の値を確認するための実用的な手順です。
JSONPathとは?
JSONPathは、JSON文書の中から特定の値を選択するためのクエリ式です。DOMに対するXPathのように、ルート、プロパティ名、配列インデックス、ワイルドカード、条件式を組み合わせて、必要な値だけを取り出します。
たとえばECサイトの商品一覧JSONからすべての価格を確認するなら $..price、ユーザー配列から有効なユーザー名だけを確認するなら $.users[?(@.active==true)].name のように指定できます。手作業で検索するよりも、データの階層と条件を明示できる点がメリットです。
標準化されたJSONPathの仕様は RFC 9535 JSONPath として公開されています。このページでは日常的な確認作業で使う基本構文を中心に、ブラウザで安全に評価できる範囲を実装しています。
入力と出力の例
JSONPath式
$.store.book[?(@.price<10)].title
結果
[
"Sayings of the Century",
"Moby Dick"
]
一致しない場合は空配列を表示します。JSON構文エラーや未対応の式は、ステータス欄に理由を表示します。
JSONPathの構文早見表
よく使う式を目的別に確認できます。
| 目的 | JSONPath式 | 説明 |
|---|---|---|
| ルート全体 | $ |
入力JSON全体を返します。 |
| 特定キー | $.user.name |
ルート直下のuserオブジェクトからnameを取得します。 |
| 配列の全要素 | $.items[*].id |
items配列の各要素からidを取得します。 |
| どの階層でも検索 | $..email |
JSON全体からemailキーを再帰的に探します。 |
| 条件で抽出 | $.orders[?(@.status=="paid")] |
statusがpaidの注文だけを抽出します。 |
| 範囲指定 | $.logs[0:10] |
配列の先頭10件を確認します。 |
JSONPathテスターが役立つ場面
APIレスポンスの確認
REST APIやGraphQLのレスポンスから、テストで検証したい値だけを抽出できます。
ログや監査データの調査
ネストしたログJSONからエラーコード、ユーザーID、タイムスタンプなどを素早く確認できます。
設定ファイルのレビュー
大きな設定JSONの中から特定キーや配列項目を抜き出し、変更前後の確認に使えます。
制限と注意点
- 高度なJSONPath関数、正規表現フィルター、実装依存の拡張構文には対応していません。
- 非常に大きなJSONではブラウザのメモリと処理速度に依存します。
- 条件フィルターは
==、!=、<、<=、>、>=の単純比較を対象にしています。 - 結果が空の場合は、JSONPath式、キー名の大文字小文字、配列位置を確認してください。
抽出前にJSONを読みやすく整えたい場合は JSON整形ツール、2つのレスポンス差分を確認したい場合は JSON Diff比較ツール を利用できます。