Azure Logic Apps:Parse JSON后初始化变量获取首个appId返回Null求助
Azure Logic App提取Parse JSON输出中第一个对象的appId返回Null的解决方法
正确表达式写法
要提取value数组中第一个对象的appId,使用以下空值安全的表达式即可:
first(outputs('Parse_JSON')?.body?.value)?.appId
或者用索引器写法:
first(outputs('Parse_JSON')?['body']?['value'])?['appId']
排查返回Null的常见原因
- Parse JSON的Schema不匹配:如果Parse JSON操作使用的Schema和实际输出结构不一致,会导致解析后的
body为空。解决方法:在Parse JSON步骤中点击「Use sample payload to generate schema」,粘贴你提供的完整JSON输出,自动生成匹配的Schema。 - 步骤名称错误:确认表达式中的
'Parse_JSON'和实际Parse JSON步骤的名称完全一致(包括空格、大小写)。比如步骤名称是「Parse JSON」,则表达式要写成outputs('Parse JSON')。 - 数组为空的情况:如果
value数组本身是空的,first()会返回Null,此时可以添加空值判断避免异常:if(empty(outputs('Parse_JSON')?.body?.value), null, first(outputs('Parse_JSON')?.body?.value)?.appId)
验证步骤
可以先添加一个Compose步骤,输出outputs('Parse_JSON')?.body?.value,确认数组是否包含预期的对象,再逐步添加first()和提取appId的逻辑,定位问题所在。
内容的提问来源于stack exchange,提问作者Eldos
相关产品推荐
相关产品推荐

