JSONPath配列スライス — 範囲で要素を選択
JSONPathの配列スライス [start:end:step] を使って要素の範囲を抽出する方法を学びます。構文、ステップ値、JSON配列操作の実践例を解説します。
Array Operations
詳細な説明
JSONPathにおける配列スライス
配列スライスは [start:end:step] 構文を使用して、配列から範囲の要素を抽出します。Pythonのスライス記法にインスパイアされており、連続したまたは等間隔の要素を簡潔に選択できます。
構文
$.array[start:end] // startからend-1までの要素
$.array[start:end:step] // ステップ間隔付き
$.array[:end] // 先頭からend-1まで
$.array[start:] // startから末尾まで
$.array[::step] // N番目ごとの要素
基本的なスライス
$.numbers[0:3]は最初の3要素を返します$.numbers[-3:]は最後の3要素を返します$.numbers[:4]は最初の4要素を返します
ステップの使用
ステップパラメータは選択される要素の間隔を制御します:
$.numbers[::2]は1つ飛ばしの要素を返します$.numbers[1::2]はインデックス1から1つ飛ばしの要素を返します
スライスパラメータ
| パラメータ | デフォルト | 説明 |
|---|---|---|
start |
0 | 開始インデックス(含む) |
end |
配列の長さ | 終了インデックス(含まない) |
step |
1 | 要素間の間隔 |
実用的なパターン
- ページネーション:
$.items[0:10]で最初のページ、$.items[10:20]で2ページ目。 - 先頭/末尾:
$.items[:5](最初の5件)と$.items[-5:](最後の5件)。 - サンプリング:
$.data[::10]で10番目ごとのレコードを取得して素早い分析に使用。
ユースケース
JSONデータのページネーション、ログ配列からの最近のエントリ抽出、大規模データセットのプレビュー用サンプリング、または順序付きコレクションに対するhead/tail操作の実装に使用します。