如何在Azure Workflow中从JSON数组提取单个值用于创建记录
Azure Logic Apps 提取单元素数组值解决方案
核心解决思路:直接通过数组索引提取唯一元素
既然phones数组始终只有1个元素,完全不需要用Apply to each循环,直接用表达式定位到数组的第一个元素即可。
具体操作步骤
方法1:直接在Create Record字段中写表达式
- 打开
Create a new D365HR Worker record操作的电话字段输入框 - 点击输入框上方的表达式按钮
- 输入以下表达式:
拆解说明:body('Parse_JSON')?['phones'][0]?['phonenumber']body('Parse_JSON'):指向你之前Parse JSON操作的输出结果?['phones']:提取名为phones的数组[0]:取数组的第一个元素(数组索引从0开始计数)?['phonenumber']:从该元素中提取phonenumber字段的值
方法2:用Compose操作中转(更直观,适合新手调试)
- 在
Parse JSON之后、Create Record之前,添加一个Compose操作 - 在Compose的输入框中,输入同样的表达式:
body('Parse_JSON')?['phones'][0]?['phonenumber'] - 保存配置后,在
Create Record的电话字段中,直接选择这个Compose操作的输出即可
为什么会自动触发循环?
Logic Apps会自动识别数组类型的输出,当你把数组直接绑定到单个字段时,系统默认认为你需要遍历数组的每个元素,因此自动添加Apply to each循环。但你明确知道数组只有一个元素,用索引定位就能跳过循环。
内容的提问来源于stack exchange,提问作者Garry_G
相关产品推荐
相关产品推荐

