嵌套变量
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构建一个对象:
- 使用API触发创建新的工作流程。
- 在触发器配置面板中,给触发器一个名称和可选的描述。
- 选择目的为输入变量的变量类型,并为变量指定一个名称。
- 将出现对象项的子字段。通过选择变量类型并提供名称,像往常一样配置变量。
- 要在对象添加更多项目,请单击嵌套添加变量按钮。此按钮位于您正在编辑的当前对象变量的灰色边界内。
- 根据需要配置任何附加的对象项。
- 根据需要配置除对象之外的任何其他变量。
- 点击继续并根据需要配置您的工作流程。
使用输入模板提取伪像的嵌套数据
如果希望显示工件中嵌套变量的数据,可以使用输入模板直接访问内容,而不需要额外的工作流步骤。