valueof()
マップや配列から指定したキーまたはインデックス位置の値を返します。
構文
valueof(COMPOUND, KEY)
パラメーター
COMPOUND- 値を抽出するマップまたは配列。
KEY- マップの場合はキー文字列、配列の場合はインデックス整数。
説明
valueof() 関数は複合オブジェクトから特定の位置の値を抽出して返します。
COMPOUNDがマップの場合:KEYに対応するキーの値を返します。COMPOUNDが配列の場合:KEYを整数インデックスとして使用し、その位置の値を返します。インデックスは0から始まります。
以下の状況では null を返します。
COMPOUNDまたはKEYがnullの場合COMPOUNDがマップでも配列でもない場合- 配列にインデックス値の代わりに文字列キーを指定した場合
- マップに整数インデックスを指定した場合(マップのキー型が整数でない場合)
- インデックスが配列の有効範囲外の場合
エラーコード
該当なし
使用例
-
配列からインデックスで値を抽出(インデックスは
0から始まります)json "{}" | eval foods = array("Apple", "Banana", "Cucumber") | eval food = valueof(foods, 2) | # food: Cucumber -
マップからキーで値を抽出
json "{}" | eval foods = dict("a", "Apple", "b", "Banana", "c", "Cucumber") | eval food = valueof(foods, "b") | # food: Banana -
COMPOUNDがnullの場合json "{}" | eval food = valueof(null, "b") | # food: null -
配列インデックスが有効範囲外の場合
json "{}" | eval foods = array("Apple", "Banana") | eval food = valueof(foods, 5) | # food: null
互換性
valueof() 関数はSonar 4.0以前のバージョンから提供されています。