Azure Logic Apps如何读取数组输入参数并将首项值赋值给变量
解决Web API返回数组的取值问题
你当前的表达式写法有误,@body('previous_action').first() 不是正确语法——数组对象本身没有first()方法,正确逻辑是把数组作为参数传给first()函数。以下是几种可靠的取值方式:
方式一:使用数组索引直接访问
如果确定数组非空且存在索引0的元素,可直接用索引取值,加上可选链?能避免数组为空或索引不存在时抛出错误:
@body('previous_action')[0]?['propertyName']
或使用点语法(同样建议加可选链):
@body('previous_action')[0]?.propertyName
方式二:使用first()函数取值
first()函数的参数需要是目标数组,正确写法如下:
@first(body('previous_action'))?['propertyName']
或点语法:
@first(body('previous_action'))?.propertyName
额外检查要点
- 确认API返回的直接是数组,而非嵌套在某个对象中。比如如果返回结构是
{"items": [{}, {}]},则需要先取嵌套的数组:@body('previous_action')['items'][0]?['propertyName'] - 检查
propertyName的拼写、大小写是否完全匹配JSON返回的属性名(JSON是大小写敏感的) - 通过流程的测试功能查看
previous_action的实际输出结构,确认数组的位置和属性名称是否符合预期
内容的提问来源于stack exchange,提问作者user9297554
相关产品推荐
相关产品推荐

