本文へスキップ
grsytools.jp

提出前・共有前の実務チェック

JSONPath・JMESPathテスター

JSON入力に対して JSONPath / JMESPath 風クエリの抽出結果を確認できるテスターです。ドット記法・配列インデックス・ワイルドカードを中心に、ブラウザ内で抽出結果を確認できます。

ページ更新日:

ツール本体

入力・操作・結果

上から入力し、必要な操作を行って、表示された結果と次の操作を確認してください。

クエリ方式

一致件数: 0

対応範囲: ドット記法 / ブラケット記法(キー・添字)/ ワイルドカード([*])。

対応範囲

  • 対応: `$.user.name` / `orders[0].total` / `orders[*].id`
  • 非対応: フィルタ式 `?()`、関数呼び出し、スライス、再帰降下(`..`)
  • 非対応例ボタンで、エラーになる入力をそのまま確認できます。

入力データは原則ブラウザ内で処理し、URLやアクセス解析へ保存しません。ページを更新すると入力は失われます。機密情報は入力しないでください。

使い方

  1. JSON入力欄に対象データを貼り付けます。
  2. JSONPath または JMESPath を選び、抽出クエリを入力します。
  3. 抽出結果を確認し、必要ならコピーして利用します。

判断基準

まず単純なキー参照(`orders[0].id`)で当たりを確認し、次にワイルドカード(`[*]`)へ広げる手順で試すと、 クエリ誤りとデータ不備を切り分けやすくなります。

よくある失敗

  • JSONPathで `$` を省略して入力し、先頭記法エラーになる。
  • 配列とオブジェクトを取り違え、`items.name` のように添字を抜かす。
  • 非対応のフィルタ式を使って一致0件を不具合と誤解する。

境界条件

  • フィルタ、関数、スライス、再帰降下など高度構文は対象外です。
  • 一般的には実装差のある言語処理系と完全一致することを保証しません。
  • 本番利用前は利用中ライブラリの公式構文仕様で最終確認してください。

注意点

    具体例

    • `orders[*].id` で配列のID一覧(例: `[1,2,3]`)を抽出できます。
    • `$.user.roles[0]` で先頭ロール(例: `admin`)を1件確認できます。

    補足: 本ツールは基本構文の確認に対応しています。フィルタ式 `?()`、関数、スライス、再帰降下 `..` などの高度構文は対象外です。

    このツールを使う場面

    確認できること
    JSONから取り出したい値に対して、JSONPathやJMESPath風の指定で抽出結果を確認できます。
    使う前に見るポイント
    対象JSONを整形し、配列とオブジェクトの階層、キー名の表記ゆれを先に見ておきます。
    結果を見たあとにやること
    期待した値だけが出る形に調整し、実装や手順書に使うクエリとして控えます。

    作業全体に戻る場合は、近い課題別ページを開いてください。

    JSON差分を見る前に整えるポイント

    JSON差分は、整形や型の前提がずれていると変更点が多く見えます。まず構文と見た目を整え、次に値の意味を分けて確認します。

    失敗しやすいクエリ例

    • JSONPathで$を省略する

      JSONPathモードでは先頭$を含む書式が前提です。

      例: 入力例: items[0].id / 出力: 解析エラー

    • 配列添字を省略してオブジェクト扱いする

      配列は [0] や [*] を明示しないと一致しません。

      例: 入力例: orders.total / 判断: orders[0].total へ修正

    境界値・例外ケース

    • 非対応構文(フィルタ/関数)を使う

      このツールは基本抽出構文のみ対応です。

      例: 入力例: $.items[?(@.id==1)] / 出力: 非対応エラー

    • 一致0件と構文エラーを混同する

      クエリが正しくても対象データがなければ0件になります。

      例: 判断ポイント: エラーメッセージ有無で切り分ける

    よくあるミス

    • モード切替後に前モードの記法を使う

      JSONPathとJMESPathで先頭記法や許容表現が異なります。

      例: 判断ポイント: モード変更時はクエリを再入力する

    • 実装ライブラリ差異を無視して本番クエリ化する

      実運用の処理系では挙動差があるため最終確認が必要です。

      例: 出力確認後に利用中ライブラリで同クエリを再検証

    FAQ

    • JSONPathとJMESPathを完全互換で評価できますか?

      いいえ。共通して使いやすい基本構文(ドット・添字・ワイルドカード)に対応しています。

    • エラー時にどこを直せばよいですか?

      JSONの構文エラーか、クエリの記法エラーを判定してメッセージ表示します。まず入力JSONの妥当性を確認してください。

    • 一致件数が0件のときは何を確認すべきですか?

      キー名のスペル、配列添字、先頭記法($有無)を順に確認すると原因を特定しやすくなります。

    基本FAQ

    • 入力データは外部へ送信されますか?

      原則として送信されません。入力内容はブラウザ内で処理し、URLやアクセス解析へ保存しません。例外がある場合は各ツールページ内に明記しています。

    • 入力内容は自動保存されますか?

      原則として自動保存しません。ページを更新すると入力は失われます。コピーやダウンロードで保存する場合は、ご利用端末内に保存されます。

    同じ作業の前後で使うことがあるツールです。