JSON Path: XPath のように JSON ノードを抽出する

2026-02-26

深いレスポンスで手書きアクセスを増やすと保守が難しくなります。JSONPath を使うと抽出ロジックを設定化しやすくなります。

基本

$ はルート、[*] は配列全件、..key は再帰探索です。

JSONPath は RFC 9535 で標準化されました。

// $.store.book[*].title    ["A", "B"]

フィルタ

[?(@.price < 10)] で条件抽出できます。@ は現在ノードを指します。

ツール

JavaScript は jsonpath-plus、Python は jsonpath-ng、CLI は jq が定番です。

XPath との違い

JSONPath は JSON 値向けで、XML の属性ノードやテキストノード概念はありません。

運用のコツ

本番ロジックは固定パスと Schema を優先し、JSONPath は運用・検証用途に使い分けます。