如何在Power Automate中将邮件数据转换为JSON并排查配置错误
Power Automate 邮件提取转JSON流程Split步骤故障排查
你当前配置的Split步骤表达式存在两处语法错误,是流程运行失败的直接原因:
body()函数仅支持传入1个参数,即对应操作的自定义名称,你在body('Html_to_text')里嵌套传入outputs('EnterKey')不符合参数规则,要获取HTML转文本步骤的输出,直接写body('Html_to_text')即可split()函数必须传入2个必填参数:第一个是待拆分的原始字符串,第二个是拆分使用的分隔符,你当前只传入了1个参数,函数无法正常执行
正确配置步骤
- 先确认前置的「Html to text」操作已经正确绑定触发器拿到的新邮件Body字段,这一步作用是把邮件的HTML格式正文转换为无标签纯文本
- 定位到「Split Body Text」步骤,删除原有错误表达式,替换为以下按换行拆分正文的标准写法(和常规教程里按回车拆分的逻辑一致,兼容性更高):
split(body('Html_to_text'), decodeUriComponent('%0A'))
注:
decodeUriComponent('%0A')是Power Automate中识别换行符的通用写法,避免直接输入回车作为分隔符时出现的环境兼容问题
- 正文拆分完成后,添加「Parse JSON」操作,把拆分得到的正文数组、邮件发件人地址、邮件主题、收件时间等你需要的字段,映射为C#程序要求的JSON结构即可。最终输出的JSON既可以存到指定文件路径供C#程序定时读取,也可以直接通过HTTP请求动作推送给C#服务接口,省去中间文件读取步骤。
新手测试避坑提示
body()函数内传入的操作名,必须和流程中对应步骤显示的名称完全一致,多一个空格、特殊字符都会触发引用错误- 首次测试建议先用内容简单的测试邮件触发流程,在HTML转文本步骤后加一个Compose操作,直接输出转换后的纯文本结果,确认正文转换正常后再配置后续拆分、JSON组装步骤,排查问题效率更高
- 组装JSON时如果正文包含引号、换行等特殊字符,套一层
json()函数做转义,避免C#端反序列化时报错
内容的提问来源于stack exchange,提问作者Shawn_Medinsky
相关产品推荐
相关产品推荐

