嵌套的变量

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

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

数组

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

数组的数组

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

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

你可以使用以下方法访问嵌套数组中的数据:

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

用循环提取数组数据的数组

要从这个带有循环步骤的数组数组中提取单个整数,可以创建两个循环。对于本例,工作流中的第一个循环是FirstLoop而嵌套在第一个里面的第二个是InnerLoop.第一个循环在[APITrigger]上迭代。[VariableName],然后内部循环遍历第一个循环[FirstLoop].[$item]创建的变量。[FirstLoop]。[$item]指当前嵌套的数组——对于父循环的第一次迭代,这是第一个数组[0,1,2]。第二个内部循环从数组中提取这些单独的整数0、1和2。要引用内部循环的当前迭代(整数),再次使用$item变量,这次是[InnerLoop].[$item]。

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

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

从带有索引的数组数据中提取数组

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

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

要在特定索引位置提取嵌套数组的数据,既需要子数组在父数组中的索引位置,也需要子数组中项目的索引位置。在本例中,[Trigger].[ArrayOfArrays].[0]。[1]检索整数1和[Trigger].[ArrayOfArrays].[2].[2].[2].[1]检索整数1和[Trigger].[ArrayOfArrays]。[1]检索整数7。

对象

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

考虑一个名为[StepName]的对象。[ObjectVariable]的内容:

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

该节点包含三种类型:IP地址字符串、整数端口号和域名字符串。

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

对象在对象

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

使用InsightConnect UI创建对象

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

使用InsightConnect UI构建一个对象:

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

使用输入模板提取工件的嵌套数据

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

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