開発者向け

JSON Path Finder (パス取得・クエリ実行)

JSONをツリー表示し、JSONPath・JavaScript・Python・jq・lodashの安全なパスを一括取得。基本クエリ、再帰探索、単一比較フィルタをブラウザ内で実行。

登録不要
最大2MB・2,000,000文字

入力内容はブラウザ内だけで処理します

標準JSONを貼り付けるか、JSONファイルを読み込めます505文字

ツリービュー ノードを選択してパスを取得

左のツリーでノードを選ぶと各形式のパスを表示します

対応JSONPath構文
構文説明
$ルート
.key / ['key']子要素
[0]配列インデックス
[*] / .*直下の全要素
..key / ..*再帰探索
[?(@.x>=1)]単一項目と値の比較(==, !=, >, <, >=, <=)

JSON Path Finder (パス取得・クエリ実行)について

JSONPathと本ツールの対応範囲

JSONPathは、JSON文書内のノードを選択するためのクエリ言語です。起点の$から、オブジェクトの名前や配列インデックスをたどります。JSONPathの標準仕様はRFC 9535として公開されています。

本ツールはRFC 9535の全機能を実装した検証器ではありません。日常的な確認に必要な子要素、配列インデックス、ワイルドカード、再帰探索と、単一項目を比較するフィルタに範囲を限定しています。union、slice、関数、正規表現、AND・ORを含む複合フィルタには対応していません。

JSONを選択してパスを5形式で確認

JSONを貼り付けるかJSON・テキストファイルを読み込むと、構造をツリー表示します。ツリーのノードを選択すると、同じ値へアクセスするJSONPath、JavaScript、Python、jq、lodashの5形式を表示して個別にコピーできます。

特殊文字を含む項目名は引用符付きのブラケット表記へ変換します。JavaScriptとPythonはdata["users"][0]["name"]、jqは.["users"][0]["name"]、lodashは曖昧さを避ける配列パス_.get(data, ["users", 0, "name"])として出力します。

対応しているクエリ構文

構文用途
$ルート$
.name / ["name"]子要素$.users[0]["display-name"]
[0]0始まりの配列インデックス$.users[0]
[*] / .*直下の全要素$.users[*].name
..name / ..*再帰探索$..name
[?(@.x>=1)]配列要素の単一比較$.items[?(@.price>=1000)]

フィルタは==!=><>=<=に対応します。文字列・数値・真偽値・nullの等価比較と、数値の大小比較を実行できます。入力式は末尾まで解析し、未対応の文字や不完全な構文を部分一致として実行しません。

入力と表示の上限

ブラウザが固まることを避けるため、ファイルは2MB、貼り付けを含む入力は2,000,000文字、項目名は1件2,000文字までです。ツリーは10,000ノード・深さ100階層、生成する1本のパスは10,000文字、全パスの合計は5,000,000文字までです。整形後に2,000,000文字を超える場合は、整形せず元の入力を保持します。ファイル読込が5秒以内に完了しない場合は中断して再試行を案内します。

JSONPathクエリは10,000文字までです。結果は先頭1,000件、探索量は50,000ノードまでに制限しています。結果内のオブジェクトと配列は項目数・要素数の要約を表示し、パスを選ぶと詳細を確認できます。文字列などの表示は1件8,000文字、結果全体で200,000文字までです。

JavaScriptで値が変わることを避けるため、有限でない数値と安全整数(±9,007,199,254,740,991)を超える整数は受け付けません。上限を超える大規模データ、高精度数値、JSONPath標準の高度な構文を使う処理には、用途へ対応した専用ライブラリやjqなどを利用してください。

よくある質問

Q. 入力したJSONはサーバーへ送信されますか?
入力内容の解析、ツリー生成、パス変換、クエリ実行はブラウザ内で行い、入力したJSON本文をサーバーへ送信する処理はありません。ページ自体の配信やアクセス計測・広告表示の通信とは別です。
Q. JSONのルートがnull、false、0でも使えますか?
はい。オブジェクトと配列だけでなく、文字列、数値、真偽値、nullも有効なJSONとしてツリー選択、$クエリ、パス表示に利用できます。
Q. フィルタ式はどこまで対応していますか?
配列要素の直下にある1項目と、文字列・数値・真偽値・nullを比較する単一条件に対応します。AND・OR、正規表現、関数、入れ子の項目参照には対応していません。
Q. JSON Lines(JSONL)を読み込めますか?
対応していません。1つの標準JSON文書を入力してください。JSONLは各行を配列要素へ変換してから利用する必要があります。
このツールを評価
5.0(1件)