JSONPathでJSONを検索する

$.store.book[*].titleで全タイトルを取得できます。実際のJSONに対してJSONPath式を試して何が一致するか確認。

このガイドで使う道具

やりたいこと

APIはネストしたJSONを渡してきます。JSONPathはその中に届くクエリ言語です。実際のペイロードで式を試す方が、ブラケット構文の推測より確実です。

検索する

JSONを貼り、パスを書いて実行します。各一致は値と一緒に自分のパス($.store.book[0].titleのような)を表示します。アドレスは値と同じくらい役に立ちます。

  • ..nameはどこへでも潜ります。$..authorは深さに関わらず全authorキーを拾います。
  • [0:2]は配列のスライスで、Pythonのように先頭2要素です。

具体例

storeの塊に$.store.book[*].titleを投げると4件が返り、パスが固定参照に必要な配列インデックスを教えてくれます。

対応範囲

仕様のサブセットです。[?()]フィルタ・複数インデックスの和・スクリプト式はありません。JSONは4MB、一致は500件まで。