アクション内で利用できる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

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました