在Logic App中如何构建键与值分离的JSON输出?
在Azure Logic Apps中将Alert表格格式JSON转换为键值对数组
针对你从Azure Alert获取的表格结构JSON,不需要复杂的嵌套循环,用Logic Apps的Select动作就能快速转换成目标键值对数组,具体步骤如下:
步骤1:解析原始JSON
先添加Parse JSON动作,将Alert返回的原始JSON解析为结构化对象。可以直接把你的示例JSON粘贴到"Use sample payload to generate schema"选项中,自动生成对应的Schema,确保后续能正确引用字段。
步骤2:用Select动作完成结构转换
添加Select动作,配置如下:
- From:选择解析后的数据路径
body('Parse_JSON')?['tables'][0]?['rows'](指向PrimaryResult表的行数据) - Map:逐一配置键和对应的表达式:
- 键:
task,值表达式:item()[0] - 键:
environment,值表达式:item()[1] - 键:
workspace,值表达式:item()[2]
- 键:
灵活适配字段变化的写法(可选)
如果后续列名或数量可能变动,不想硬编码索引,可以用表达式匹配列名对应的位置:
比如task字段的值可以写成:
item()[indexOf(body('Parse_JSON')?['tables'][0]?['columns'], first(filter(body('Parse_JSON')?['tables'][0]?['columns'], equals(item()?['name'], 'task'))))]
这个表达式会先找到columns中名为task的对象,再获取它在数组中的索引,最后取出对应行位置的值,适配列顺序变动的场景。
步骤3:查看输出
运行Logic App后,Select动作的输出就是你需要的键值对数组,和预期结构完全一致。
内容的提问来源于stack exchange,提问作者Santosh Gadhave
相关产品推荐
相关产品推荐

