JSONPathルート要素($) — すべての式の起点
JSONPathのルート要素 $ の仕組みを解説します。$ はJSONドキュメントの最上位オブジェクトまたは配列を参照し、すべてのJSONPath式の出発点となります。
Basics
詳細な説明
JSONPathにおけるルート要素
ドル記号 $ は、すべてのJSONPath式の基盤です。JSONドキュメントのルートオブジェクトまたはルート配列を指し、すべてのパス評価の起点として機能します。
構文
$
任意のJSONドキュメントに対して $ を評価すると、ドキュメント全体が返されます。他のすべてのJSONPath式は、このルート参照の上に構築されます。
動作の仕組み
以下のJSONを考えてみましょう:
{
"name": "Alice",
"age": 30,
"roles": ["admin", "editor"]
}
$ を評価すると、完全なオブジェクトが返されます。これは、データを下流に渡す場合や、ネストされたパスに入る前に構造を確認する場合に便利です。
重要なポイント
- すべての式は
$で始まる —$.nameと書く場合でも、$はルートから始めることをエバリュエータに伝えます。 - オブジェクトと配列の両方に対応 — ルートが
[1, 2, 3]のような配列の場合、$はその配列を返します。 - 暗黙のルート — 一部の実装では
$を省略できますが、明確さと移植性のために明示的に含めることがベストプラクティスです。
他のクエリ言語との比較
| 言語 | ルート記号 |
|---|---|
| JSONPath | $ |
| XPath | / |
| jq | . |
ルート要素を理解することは、ドット記法、ブラケット記法、再帰的降下などのより高度な演算子を学ぶ前の必須知識です。
ユースケース
JSONドキュメント全体を参照または返す必要がある場合に使用します。ツール間でデータをパイプする場合、トップレベルの構造を検証する場合、またはフィルタやプロジェクションを適用する前の出発点として利用します。