嵌套变量

InsightConnect步骤摄取并产生变量字符串,整数,布尔值,数组或对象.数组和对象可以包含其他变量,例如字符串数组。

嵌套变量创建数据的“级别”,以更好地组织,提取和与工作流数据进行交互。许多InsightConnect插件会自动为某些数据创建嵌套变量,但在构建触发器或编辑输出模式时,也可以创建嵌套变量。

数组

数组是由逗号分隔并用方括号括起来的项目列表。数组中的项可以是指定的任何数据类型。

数组的数组

阵列数组通常包含相同数据类型的阵列,尽管阵列阵列可以包含不同类型的子阵列。例如,父数组可以包含一个字符串数组,然后是一个整数数组,然后是一个布尔数组[[你好“,”HI“,”HIYA“],[3,4,5],[真,假,假]]].我们建议使用一致的数据类型创建数组的数组,以便于解析。

每个数组都必须用方括号括起来,包括嵌套的数组。

您可以访问嵌套数组的数据:

考虑由API触发器创建的示例数组:[APITrigger] [VariableName]。.每个子数组包含三个整数,如[[0,1,2],[3,4,5],[6,7,8]]

用循环提取阵列数据阵列

要从这个带有循环步骤的数组数组中提取单个整数,可以创建两个循环。对于本例,工作流中的第一个循环是FirstLoop第二,在第一个内嵌套,是InnerLoop.第一个循环迭代[apitrigger]。[variableName],然后内部循环迭代由第一个循环创建的变量[firstloop]。[$项目]。[FirstLoop]。[$项目]是指当前嵌套数组 - 对于父循环的第一个迭代,这是第一个阵列,[0,1,2]。第二个内部循环从阵列中提取这些单个整数0,1和2。要引用内循环的当前迭代(整数),您再次使用$ Item变量,这次[UniorLoop]。[$ Item]。

使用这些循环的工作流的输出将为每个整数打印一个工件,每次递增数字。

嵌套循环体系结构与嵌套数组数据结构相似。

用索引提取数组数据数组

您还可以使用数组的每一层的索引号提取嵌套数组数据。对于经常重新洗排或调整数据大小的大型数据集,不推荐使用此方法,但如果您有固定的数组,并且只需要嵌套数组中的某些位置的数据,则可以使用此方法。

数组下标从0开始,而不是1。为[[0,1,2],[3,4,5],[6,7,8]]例如,第一个子数组的0索引整数是0,第二个子数组的0索引整数是3,第三个子数组的2索引整数是8。

要在特定索引位置提取嵌套数组的数据,您需要父数组中的子阵列索引位置以及子阵列中项目的索引位置。对于此示例,[触发]。[ArrayofArrays]。[0]。[1]检索整数1和[触发]。[ArrayoFarrays]。[2]。[1]检索整数7。

对象

许多InsightConnect插件使用对象变量,将多个数据块聚合到一个父变量中。对象不能被分解成单独的组件,但是您可以从每个组件中提取信息作为子变量。

考虑一个名为[stepname]的对象。[objectvariable]包含内容:

         
1
{“地址”:“为1.2.3.4”、“港”:22日“域”:“something.com”}

此对象包含三个项目:IP地址字符串,整数端口号和域名字符串。

变量引用[stepname]。[ObjectVariable]检索整个对象,但不是三个嵌套项中的任何一个。您可以按键名称提取项目:[踏ne]。[objectVariable]。[地址]返回为1.2.3.4为例。

对象中的对象

您也可以在对象中嵌套对象。按照此示例格式从嵌套对象中提取数据:[StepName]。[ParentObject]。[ChildObject]。(例子)

使用InsightConnect UI创建对象

如果构建一个接受对象作为输入的触发器,则可以在触发器配置面板中逐键构建对象。

使用InsightConnect UI构建一个对象:

  1. 使用API​​触发创建新的工作流程。
  2. 在触发器配置面板中,给触发器一个名称和可选的描述。
  3. 选择目的为输入变量的变量类型,并为变量指定一个名称。
  4. 将出现对象项的子字段。通过选择变量类型并提供名称,像往常一样配置变量。
  5. 要在对象添加更多项目,请单击嵌套添加变量按钮。此按钮位于您正在编辑的当前对象变量的灰色边界内。
  6. 根据需要配置任何附加的对象项。
  7. 根据需要配置除对象之外的任何其他变量。
  8. 点击继续并根据需要配置您的工作流程。

使用输入模板提取伪像的嵌套数据

如果希望显示工件中嵌套变量的数据,可以使用输入模板直接访问内容,而不需要额外的工作流步骤。

学习如何使用输入模板来显示数组或JSON对象内容。