JSONPathドット記法($.key) — プロパティへの直接アクセス
JSONPathのドット記法を使ってオブジェクトプロパティに直接アクセスする方法を解説します。$.key による値の選択と、ドット記法とブラケット記法の使い分けを学びます。
Basics
詳細な説明
JSONPathにおけるドット記法
ドット記法は、JSONオブジェクトのプロパティにアクセスする最も一般的な方法です。ピリオド(.)の後にプロパティ名を続けることで、簡潔で読みやすい式を記述できます。
構文
$.propertyName
$.parent.child.grandchild
動作の仕組み
以下のJSONドキュメントに対して:
{
"user": {
"name": "Bob",
"email": "bob@example.com",
"address": {
"city": "Tokyo",
"zip": "100-0001"
}
}
}
$.user.nameは"Bob"を返します$.user.address.cityは"Tokyo"を返します$.user.emailは"bob@example.com"を返します
各ドットはオブジェクト階層を1レベル深く進みます。深くネストされた値にアクセスするために、必要な数だけドットを連鎖させることができます。
ルールと制限
- プロパティ名は有効な識別子である必要がある — スペース、ハイフン、特殊文字を含む名前にはブラケット記法が必要です(例:
$["first-name"])。 - 大文字と小文字を区別 —
$.Userと$.userは異なるパスです。 - 存在しないキーの場合は結果なし — プロパティが存在しない場合、式はエラーではなく空の結果セットを返します。
ドット記法 vs. ブラケット記法
| 特徴 | ドット記法 | ブラケット記法 |
|---|---|---|
| 構文 | $.key |
$["key"] |
| 特殊文字 | 非対応 | 対応 |
| 可読性 | 高い | 低い |
| 動的キー | 不可 | 可能 |
ドット記法は、シンプルで規約に沿ったプロパティ名に対して推奨され、JSONPathのチュートリアルやドキュメントで最も一般的に見られる形式です。
ユースケース
構造が整理されたJSON APIやコンフィグファイル、データベースレスポンスから値を素早く抽出する場合に使用します。プロパティ名が特殊文字を含まない標準的な命名規則に従っている場合に最適です。