アクション内で利用できるObject型の変数の値を参照する場合、変数にドットで繋いだセレクターや角括弧で要素にアクセスします。
Object型の変数の例として、IVARの顔認証機能を使用するとトリガーマネージャーでアクションを実行した場合に以下のようなJSONデータがアクションに届きます。
(一部のデータのみ抜粋しています。)
このデータはアクションの実行時に tv.Data
としてどのコンポーネントからも参照することもできます。または最初のコンポーネントのPayloadにもなっているため、 最初のコンポーネントでは cv.Payload
としても参照可能です。
{
"id":"XXXXXX",
"source":{
"channel":4,
"bacId" : "YYYYYY",
"taskId" : "ZZZZZZ",
"ivarId" : "000000"
},
"common":{
"description":"Face Recognition",
"presentImageTime":"2019-06-17T07:53:22.986Z",
"time":"2019-06-17T07:53:22.986Z",
"type":"FR"
},
"iod":{
"age":"MIDDLE",
"ageRange":[
38,
53
],
"faceAvailable":true,
"frSuitable":"NA",
"gender":"MALE",
"glasses":"REGULAR",
"groupId":0,
"liveness":"NO_RESULT",
"livenessProbability":"0.0000",
"mask":"NA",
"objectId":649,
"objectType":"FACE",
"occlusion":"NA",
"race":"NA"
},
"fr":{
"candidates":[
{
"customId":"00001",
"displayName":"Person B",
"id":"6",
"indentityGroup":"Company A",
"similiarityScore":"0.7272"
}
],
"fdrVersion":"60032084",
"indentityGroup":"Set2",
"mmsReturn":"OK"
}
}
例えば fr -> candidates -> displayName を参照する場合には
tv.Data.fr.candidates[0].displayName
と記述します。
IVARのJSONは単純なキー名ですのでドットで繋いだセレクターで参照できますが、スペースやハイフンなどがキー名に使われている場合には以下のような参照も可能です(display Nameとスペースが入っていた場合)。frやcandidatesはそのままドットで繋いで混ぜて使ってもかまいません。
tv.Data["fr"]["candidates"][0]["display Name"]
tv.Data.fr.candidates[0]["display Name"]
上記は値の参照、取得だけですが、Filterコンポーネントの条件式を入れるところでも同様に使うことが可能です。
cv.Payload.fr.candidates[0].displayName == "Person B"
これらの機能はアクション以外にもトリガー条件や式を書けるところで使えます。
トリガーのIVARの条件でも式を入力することができ、男性のみアクションを起動する場合には以下の式を記述します。
tv.Data.iod.gender == "MALE"
Need more help with this?
Join our slack community for help