JSONパス検証ツール

JSONの文書を貼り付け、JSONPathのクエリを入力してください。一致した件数と、各一致の正規化パスおよび値を表示します。クエリはブラウザの中で実行され、何も送信されません。

無料 ブラウザで動作 2026年11月10日火曜日確認済み

正しいJSONでなければなりません。例はRFC 9535のセクション1.5にある書店の文書です。

$(ルート)で始まります。フィルターでは、テストしている項目を@で表します。例:[[email protected] < 10]。前後の空白は無視されます。

結果

一致の数 — クエリが選んだノードの数です。クエリが同じものを繰り返し選ぶ場合は、ノードが複数回数えられることがあります。
一致した項目(順番どおり)

このツールはブラウザ内で動作します。入力した内容が当社に送信されることはありません。

使い方

  1. JSON文書をJSON文書に貼り付けます。まずは例を使って、ツールを試してください。
  2. JSONPathクエリの欄に、$で始まるクエリを入力します。フィルターは角かっこに書きます:[[email protected] < 10]。
  3. 一致の数を読み、次に一致した項目(順番どおり)の表を読みます。各行には一致した項目のパスと値があります。
  4. メッセージが問題の位置を示す場合は、クエリのその文字を見て、かっこ、引用符、ドットを直してください。

クエリがノードを選ぶ仕組み

クエリは$の後のセグメントの並びです。.storeや[0]のような子のセグメントは、到達した各ノードの子を選びます。..authorのような子孫のセグメントは、そのノードとすべての子孫を訪れてから選びます。1つのセグメントのノードは入力の順序で並び、配列は常にその順序で読まれます(RFC 9535のセクション2.5と2.5.2.2)。

名前のセレクターは、オブジェクトの中でその名前と完全に一致するメンバーだけを選びます。負の添字は配列の末尾から数え、-1は最後の要素です。[1:5:2]のようなスライスは、開始、終了、刻みを取り、刻みが0の場合は何も選びません(セクション2.3.4.2)。

フィルター、関数、ツールが受け付けないもの

フィルター[?...]は、配列やオブジェクトのすべての子を検査します。比較には==、!=、<、<=、>、>=を使い、&&、||、!でテストを組み合わせ、括弧でまとめます。存在しないメンバーはNothingで、2つのNothingは等しいとされます。数値は数値と、文字列は文字列と比べられ、型の異なる値は決して等しくなりません(セクション2.3.5.2)。

関数のlength、count、value、match、searchは、RFC 9535の定義どおりに対応しています。matchとsearchは、RFC 9485のI-Regexpの形式で書かれた正規表現を取り、有効なI-Regexpでないパターンは何も一致しません。配列とオブジェクトのリテラルはこの文法にないため、ツールは受け付けません。また、フィルターの中で関数の結果を単独で使うことも、RFC 9535では型の判定に合わないとされるため、受け付けません。

書店の例

例の文書とクエリ$.store.book[[email protected] < 10].titleでは、10より安い本は1冊目と3冊目です。それらの題名が、下の2つの一致になり、各正規化パスとともに示されます。

正規化パス 値(JSON)
$['store']['book'][0]['title'] "Sayings of the Century"
$['store']['book'][2]['title'] "Moby Dick"

よくある質問

キーが存在するのに、クエリが何も返さないのはなぜですか?

名前のセレクターは、オブジェクトのメンバーのうち、その名前と完全に一致するものだけを選び、大文字と小文字は区別されます。配列の要素には決して一致しないため、配列には添字かワイルドカードを使ってください。

フィルターで13と"13"が等しくないのはなぜですか?

RFC 9535は、型の異なる値を等しくないと比べます(セクション2.3.5.3)。数値と文字列は別の値なので、文字が同じに見えても、==は偽、!=は真になります。

負の添字は何を選びますか?

負の添字は配列の末尾から数えます。-1は最後の要素、-2はその1つ前です。配列の範囲外の添字は何も選ばず、誤りにはなりません(セクション2.3.3.2)。

フィルターの中に単独のlength(@)があるとツールが拒否するのはなぜですか?

lengthは数値を返し、フィルターには真か偽のテストが必要だからです。[?length(@.title) > 15]のように結果を比べれば、型の判定に合います。

ツールはJSONをサーバーに送りますか?

いいえ。文書はお使いのブラウザがJSON.parseで読み取り、クエリもそこで実行され、何も保存されません。このページはネットワークへの要求を行いません。

出典

数値と文章の最終確認日:2026年11月10日火曜日。

当サイトの運営に必要なCookieを使用します。お客様の同意があれば、Googleは広告用Cookieを使い、パーソナライズ広告を表示します。拒否された場合も広告は表示されますが、パーソナライズはされません。