如何在Power Automate中提取JSON对象的link字段并保存为变量
在Power Automate中提取JSON的link字段并保存为变量的方法
你的问题核心是:目标字段r36bb9fe3e73a4d7795270d677184cb6f的值是字符串化的JSON数组,而非原生JSON对象,因此无法直接提取link字段。按以下步骤操作即可解决:
方法一:使用Parse JSON动作(推荐,可读性高)
添加「Parse JSON」动作
- 在「Content」中选择动态内容里的
r36bb9fe3e73a4d7795270d677184cb6f字段值 - 点击「Generate from sample」,粘贴以下清理后的JSON数组生成Schema:
[{"name":"SharePoint Migration (3)Test.pdf","link":"https://sharepoint.com/sites/itsupportteam/Shared%20Documents/Apps/Microsoft%20Forms/DAX%20System%20Change%20Form/Question%202/PGP%20SharePoint%20Migration%20(3)_%rs%201_%2%202.pdf","id":"0154HRNBH2YXO7CMVJXZFKPCJTHULQKHIG","type":null,"size":704369,"referenceId":"0154HRNBHF2E6BYY6MDFBJB544JYFRENX6","driveId":"b!WGvvdSUIdUO8jh9P9Va9g4HiJ5ga56FMqTu18Yjhg-CqoBoNX5qGQp-92fONEnfc","status":1,"uploadSessionUrl":null}]
- 在「Content」中选择动态内容里的
初始化变量并赋值
- 添加「Initialize variable」动作,设置:
- 名称:
DocumentLink - 类型:
String - 值:选择Parse JSON输出中第一个数组元素的
link字段(动态内容里会显示为link,或手动输入表达式body('Parse_JSON')[0]?['link'])
- 名称:
- 添加「Initialize variable」动作,设置:
方法二:直接用表达式解析(更简洁)
如果不想用Parse JSON,可直接在变量赋值或审批动作中使用以下表达式获取link值:
json(triggerBody()?['r36bb9fe3e73a4d7795270d677184cb6f'])[0]?['link']
- 替换
triggerBody()为你获取原始JSON的动作名称(比如Get_item的输出) - 表达式先通过
json()函数将字符串转为JSON数组,再取第一个元素的link字段
完成后,DocumentLink变量即可作为动态内容在审批流程中直接使用。
内容的提问来源于stack exchange,提问作者Roger Myers
相关产品推荐
相关产品推荐

