Power Automate中如何将JSON对象转为数组?能否转为HTML?
解决Power Automate中JSON转数组及JSON转HTML的问题
一、将JSON响应转为数组
Send an HTTP Request调用Graph API获取邮件时,返回的JSON响应通常遵循Graph标准结构,邮件列表嵌套在value字段中,直接提取该字段即可得到数组:
- 直接用表达式提取:
body('Send_an_HTTP_Request')?['value'] - 更稳妥的方式是添加Parse JSON组件:
- 复制Send an HTTP Request的输出示例JSON
- 在Parse JSON组件中点击「Generate from sample」,粘贴示例JSON自动生成Schema
- 之后直接引用Parse JSON输出中的
value字段,就能得到结构化的邮件数组
如果你的JSON响应结构特殊(数组在其他字段下),只需把表达式中的value替换为对应字段名即可。
二、将JSON邮件数据转为HTML
方法1:用内置组件快速生成HTML表格
添加Create HTML table组件:
- 输入选择之前得到的邮件数组
- 在「Columns」中选择需要展示的字段(如主题、发送时间、正文内容),组件会自动生成标准HTML表格
方法2:自定义HTML结构
如果需要更灵活的样式,用Compose组件结合函数实现:
- 先用
Select组件整理邮件数据,只保留需要的字段(比如主题subject、正文body/content) - 在Compose中用
join和concat拼接HTML:
其中Select组件的每个项可自定义HTML片段,例如:concat( '<html><body>', join( outputs('Select')?['value'], '<hr>' ), '</body></html>' )concat( '<div class="email-item">', '<h2>', item()?['subject'], '</h2>', '<p>', item()?['body/content'], '</p>', '</div>' ) - 若邮件正文是纯文本,用
replace函数把换行符转为HTML换行:replace(item()?['body/content'], '\n', '<br>')
内容的提问来源于stack exchange,提问作者Beau Van Der Meer
相关产品推荐
相关产品推荐

