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操作の実装に使用します。

試してみる — JSON Path Evaluator

フルツールを開く