You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Automate表达式:从JSON数组取值填充电子表格行

Power Automate 表达式修正方案

问题根源

你提供的原表达式存在三个关键问题:

  1. 错误使用body(item()):当前循环的item()本身就是包含status和data的JSON对象,无需用body()包裹
  2. 迭代变量冲突:filter操作内的item()与外层For each循环的item()重名,导致Power Automate无法正确识别目标字段
  3. 未定位到目标数组:需要过滤的是JSON内的data数组,而非整个顶层对象

正确表达式

针对你的JSON结构,在「Add row into table」操作中,匹配id=X16并获取对应value的正确表达式为:

first(filter(item()?['data'], x => x.id == 'X16'))?['value']

表达式拆解

  • item()?['data']:获取当前循环项中的data数组(?是安全访问符,避免数组为空时报错)
  • filter(..., x => x.id == 'X16'):遍历data数组,筛选出id等于X16的元素(用x作为迭代变量,避免与外层item()冲突)
  • first(...):取筛选结果中的第一个元素(假设每个id唯一)
  • ?['value']:安全获取该元素的value字段

验证步骤

  1. 在「Add row into table」前添加一个Compose操作
  2. 将上述表达式粘贴到Compose的输入框中
  3. 运行流,查看Compose的输出是否为预期的value值,确认无误后再替换到表格操作中

内容的提问来源于stack exchange,提问作者Steve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 07:40:55