JSONPath配列インデックス — 位置で要素にアクセス
JSONPathでインデックス記法を使って特定の配列要素にアクセスする方法を解説します。ゼロベースインデックス、負のインデックス、JSON配列の実践例を学びます。
Array Operations
詳細な説明
JSONPathにおける配列インデックスアクセス
JSONPathの配列インデックスは、角括弧内に数値インデックスを使用して特定の位置の要素にアクセスします。インデックスはゼロベースで、最初の要素はインデックス 0 です。
構文
$.array[0] // 最初の要素
$.array[1] // 2番目の要素
$.array[-1] // 最後の要素
$.array[-2] // 最後から2番目
正のインデックス
$.fruits[0]は最初の要素を返します$.fruits[2]は3番目の要素を返します
負のインデックス
負のインデックスは配列の末尾からカウントします:
$.fruits[-1]は最後の要素を返します$.fruits[-2]は最後から2番目の要素を返します
ネストされた配列アクセス
多次元データの場合:
$.matrix[0][0]は左上の値を返します$.matrix[-1][-1]は右下の値を返します
範囲外アクセス
インデックスが配列の長さを超える場合、ほとんどの実装はエラーをスローするのではなく、空の結果セットを返します。これは多くのプログラミング言語との重要な違いです。
インデックス vs. スライス vs. フィルタ
| 方法 | 構文 | 返却値 |
|---|---|---|
| インデックス | [2] |
単一の要素 |
| スライス | [0:3] |
範囲の要素 |
| フィルタ | [?(@.active)] |
条件にマッチする要素 |
配列インデックスは、順序付きリストから既知の要素を取得する最もシンプルで効率的な方法です。
ユースケース
順序付きコレクションから特定の要素が必要な場合に使用します。例えば、最新のログエントリ(インデックス -1)、最初の検索結果(インデックス 0)、または数値データセットのマトリクス座標にアクセスする場合に活用できます。