本文へスキップ
SPCX Tools

JSONPathテスター

ブラウザ上でJSONデータに対してJSONPath式を即座にテスト・評価できます。

ローカルで動作 — ファイルは端末から出ません

ツールを読み込み中…

JSONPathテスターの使い方

  1. 1左側の入力パネルにJSONデータを貼り付けるか入力します。"Sample"をクリックしてサンプルデータを読み込むこともできます。
  2. 2ページ上部の入力フィールドにJSONPath式を入力します。
  3. 3入力欄の下にあるクイックサンプルボタンをクリックすると、一般的なクエリパターンの動作を確認できます。
  4. 4右側のパネルで、マッチした結果、合計マッチ数、および一致した要素の正確なパスを確認します。

高速・安全なJSONPathテスター

大規模なJSONデータや階層が深いJSONデータから、必要な情報を正確に抽出するのは面倒な作業です。このJSONPathテスターは、クエリの記述、テスト、デバッグをリアルタイムで行える環境を提供します。式を入力すると、ツールが即座にJSONデータを評価し、抽出された値と、その値が見つかった正確なパスの両方を表示します。

完全なクライアントサイドのJSONPath評価ツールであるため、すべての処理はお使いのデバイス上でローカルに行われます。JSONデータがサーバーに送信されることは一切ありません。そのため、データ漏洩やプライバシー侵害を心配することなく、本番環境のAPIペイロード、データベースのエクスポート、機密性の高い設定ファイルなどを安全に貼り付けることができます。

開発者向けの主な機能

  • リアルタイム評価: JSONデータやクエリを変更すると、結果が即座に更新されます。送信ボタンをクリックしたり、サーバーの応答を待つ必要はありません。
  • 安全なパース: このツールは安全な評価エンジン(eval: 'safe')を使用してクエリを処理します。複雑なフィルター式を完全にサポートしつつ、悪意のあるコードの実行を防ぎます。
  • パスの抽出: 一致した値を表示するだけでなく、すべての一致に対する絶対パスも生成します。これは、後で特定のノードをプログラムで更新する必要がある場合に非常に便利です。
  • 組み込みサンプル: 構文に慣れていない場合は、書店のサンプルデータセットを読み込み、あらかじめ用意されたいくつかの式をクリックして、さまざまな演算子がどのように機能するかを確認できます。

JSONPathクエリの書き方

JSONPathは、JSONオブジェクトや配列を探索するために特定の構文を使用します。JSONPath式のロジックをテストする際は、以下の基本演算子を理解しておくと便利です。

  • $ はルートオブジェクトまたは配列を表します。すべての絶対JSONPath式はこの記号から始まります。
  • @ は現在処理されているノードを表します。主にフィルター式の中で使用されます。
  • . または [] はプロパティを選択するための子演算子です。例えば、$.store.book と $['store']['book'] は同じ動作をします。
  • .. は再帰的降下演算子です。階層の深さに関係なく、JSONツリー内のどこからでも特定のキーを検索します(例:$..price はすべての価格を抽出します)。
  • * はオブジェクトや配列内のすべての要素に一致するワイルドカードです。例えば、$.store.* は store オブジェクトの直下にあるすべての要素を選択します。
  • [?()] はフィルター式を適用します。内部では標準的な論理演算子を使用できます。例えば、$..book[?(@.author == 'Nigel Rees')] は、その特定の著者が書いたすべての本を検索します。
  • [start:end:step] は、Pythonのように配列をスライスできます。$.store.book[-1:] は配列内の最後の本を選択します。

よくある利用シーン

APIの開発とデバッグ 最新のRESTやGraphQL APIは、巨大なJSONペイロードを返すことがよくあります。レスポンスを解析・確認するための一時的なコードを書く代わりに、このJSONPathオンラインツールにペイロードを貼り付けるだけで、データ構造が正しいか、クエリが適切なフィールドを抽出できているかをすばやく検証できます。

自動テスト 統合テストやE2Eテスト(Postman、RestAssured、Playwrightなどのツールを使用)を書く際、JSONレスポンス内に特定の値が存在するかをアサートする場面が頻繁にあります。JSONPathテスターを使えば、テストスイートにハードコードする前にクエリ文字列を完璧に仕上げることができます。

データの抽出と変換 データ移行やETL(抽出・変換・ロード)パイプラインの構築では、特定の配列やオブジェクトを切り出す作業がよく発生します。このツールを使えば、目的のデータを抽出するために必要な正確なパスを特定できます。ソースデータがXMLの場合は、まずXML JSON 変換コンバーターを使用できます。また、ミニファイ(圧縮)されたデータを整形してから確認したい場合は、JSON フォーマッターが役立ちます。さらに、JSON 比較ツールを使えば、変換前後のデータの変化を確認することも可能です。

よくある質問

JSONPathとは?
JSONPathは、XMLにおけるXPathのように、JSONデータを検索するためのクエリ言語です。短い文字列表現を使うことで、複雑なJSON構造から特定のノード、配列、値を簡単に選択・抽出できます。
入力したJSONデータは安全ですか?
はい。このツールはすべてブラウザ上でローカルに処理されます。JSONデータやクエリがサーバーに送信されることは一切ないため、機密性の高いAPIレスポンス、設定ファイル、社外秘データなどのテストにも安心してご利用いただけます。
特定の条件でデータを絞り込むには?
[?(@.property == 'value')] という構文のフィルター式を使用します。例えば、$.store.book[?(@.price < 10)] と入力すると、store配列内にあるpriceが10未満のすべてのbookが抽出されます。
マッチした要素の正確な場所(パス)を確認できますか?
はい。メインの検索結果の下に、展開可能な「Paths」セクションがあります。これを開くと、抽出されたすべての要素の正確な絶対JSONPathが表示されます。
「Invalid JSON」エラーが出るのはなぜですか?
JSONには厳密なフォーマットが求められます。すべてのキーと文字列が(シングルクォートではなく)ダブルクォートで囲まれていること、そしてオブジェクトや配列の最後の要素の後に余分なカンマがないことを確認してください。
このツールはどのJSONPath仕様を採用していますか?
このツールは人気の jsonpath-plus ライブラリを使用しています。オリジナルのJSONPath仕様を完全サポートしつつ、より複雑なクエリに対応する安全な拡張機能を追加しています。JavaScriptの eval() 関数を使用せず、安全に式を評価します。