共通
配列とオブジェクト
配列
配列とは、複数の値を連続して並べて、それをひとまとまりのデータとして表現したものです(下図参照)。変数に配列が格納されている場合は、インデックスを指定した値の取得ができます。
インデックスは、値が先頭もしくは末尾から何番目にあるのかという位置を示します。
- 先頭からは、0番目・1番目・2番目というように指定して値を取得。
- 末尾からは、-1番目・-2番目・-3番目というように指定して値を取得
オブジェクト
オブジェクトとは、キーと値のペアを基本とし、このペアの集合をひとまとまりのデータとして表現したものです(下図参照)。変数にオブジェクトが格納されている場合は、キーを指定した値の取得ができます。
BLOCKSでは、「オブジェクト生成」ブロックを使ってオブジェクトが作成できます。また、BLOCKSのブロックでよく取り扱うJSONのオブジェクト値もこれと同義です。
配列やオブジェクト内の一部データの取得書式
変数に格納されたデータが配列やオブジェクトの場合は、そのデータの一部を取得できます。
- <配列の場合>
- 変数.インデックス
- <オブジェクトの場合>
- 変数.キー
変数が_の場合は、変数_を省略した.インデックス
および.キー
という書き方もできます。
変数yに下図の配列が格納されている場合は、y.1
は”API”を取得します。
変数xに下図のオブジェクトが格納されている場合は、x.name
(キー"name"の"は外す)は
”John Smith”を取得します。
オブジェクトの中にオブジェクトがあるとか、オブジェクトの中に配列があるようにオブジェクトと配列が入れ子になっている場合は、変数.キー.キー
や変数.キー.インデックス
などのように.
(ピリオド)をつないで、入れ子になった中の値も取得できます。
変数xに上図のオブジェクトが格納されている場合は、x.languages.0
は、”English”を取得します。
この記法は、${x.name}
や${y.1}
などのように、変数展開でも使用できます。
warningキーに、ピリオド(.)と波括弧閉じ(})は指定できません。