LogicApp中使用SELECT组件转换JSON的方法咨询
Logic App Select组件实现JSON字段转换(避免自动添加Foreach)
问题根源
当你给Select组件的输入指定为数组里的单个元素时,Logic App会自动添加Foreach循环;但Select本身就是为处理数组设计的,内部已包含遍历逻辑,完全不需要额外套Foreach。
最优实现步骤
添加Select组件并设置正确输入
- 直接将Select的输入源设为生成原JSON数组的步骤输出(比如选择之前步骤的
body,不要选数组里的单个项如body[0])。此时Select会自动识别输入为数组,内部处理遍历逻辑,不会额外生成Foreach。
- 直接将Select的输入源设为生成原JSON数组的步骤输出(比如选择之前步骤的
配置字段映射规则
在Select的映射面板中,逐个添加目标字段并关联源数据或设置对应值:- 目标字段
An Id:直接从动态内容中选择源数据的id字段 - 目标字段
Full Name:选择源数据的displayName字段 - 目标字段
New Field Added:- 若需按不同项设置不同值,可使用表达式判断,比如根据id区分:
if(equals(item()?['id'], 123), 'A value which is new', 'A new value') - 若为统一固定值,直接输入对应文本即可。
- 若需按不同项设置不同值,可使用表达式判断,比如根据id区分:
- 目标字段
验证输出结构
运行Logic App后,Select组件会直接输出符合要求的目标JSON数组,无需额外处理。
错误操作修正
如果已经误加了Foreach组件,直接删除Foreach,将Select组件移出循环,重新设置输入为整个数组即可恢复正常。
内容的提问来源于stack exchange,提问作者yogibear
相关产品推荐
相关产品推荐

