JSONクエリ

JSONPathを使ってJSONデータから必要な値だけを抽出します。

結果

使用例

大きなAPIレスポンスから必要なフィールドだけ取り出す

レスポンスのJSON全体を探さなくても、$.data.items[*].idのようなパスで必要な値だけを一度に取り出せます。

条件に合う項目だけ絞り込む

$.products[?(@.price<10000)]のようなフィルター式を使えば、価格や在庫などの条件に合う項目だけを抽出できます。

入れ子構造の中から特定のキーを一度に探す

再帰探索構文の$..priceを使うと、深さや位置に関係なく文書全体から同じ名前のキーをすべて見つけられます。

よくある質問

入力したJSONと式はサーバーに送信されますか?

いいえ。クエリはブラウザ内でのみ実行され、入力した内容がサーバーに送信されることはありません。

JSONPathの文法を覚えていません。

よく使うパターンはこちらです: $は文書全体、.keyは特定のキー、[*]は配列のすべての項目、[0]は最初の項目、[?(@.price<10)]は条件に合う項目だけを絞り込み、$..keyは深さに関係なくその名前のキーをすべて見つけます。

結果が空です。なぜですか?

パスが指すデータが実際に存在しない場合も、式の文法が間違っている場合も、どちらも空の結果になります。パスを一段階ずつ短くして、どこで一致しなくなるか確認してみてください。

クエリ結果は常に配列ですか?

はい。JSONPathは一致したすべての値を配列にまとめて返します。一致する値が1つだけでも、長さ1の配列として出力されます。