選択(Select)アクションとは
配列内の構造を変換することができる。(配列でのみ使用可)
javascriptでいうところのArray.map()と同じことができる。
使い方
引数
開始には配列を指定する。
マップには変換後のKeyとValueのペアを指定する。
定数を定義したり、項目同士を結合したり、好きなように加工をすることができる。
マップの定義
苗字:@{coalesce(item()?['firstname']),'')}
名前:@{coalesce(item()?['lastname'], '')}
フルネーム:@{coalesce(concat(item()?['firstname'],item()?['lastname']), '')}
安全なマップの設定の仕方
item()
で配列の現在の要素にアクセスができる。
item['firstname']
は、firstname
を持たない場合、「キーがありません」のエラーが発生してしまう。
item?['firstname']
は、firstname
を持たない場合、エラーはでないが、null
が設定されてしまう。
coalesce(item?['firstname'],'')
はfirstname
を持たない場合、エラーはでず、空文字""
を設定してくれる。
選択アクション実行前
[
{
"firstname": "tamura",
"lastname": "chaimu"
},
{
"firstname": "katsushika",
"lastname": "yukosai"
}
]
選択アクション実行後
[
{
"苗字": "tamura",
"名前": "chaimu",
"フルネーム": "tamurachaimu"
},
{
"苗字": "katsushika",
"名前": "yukosai",
"フルネーム": "katsushikayukosai"
}
]