我正在 Power Automate 上创建一个流程,该流程调用 2 个不同的 API,第一个 API 检索数据(响应正文),并将其 POST 到第二个 API。我a,使用自定义 HTTP 连接器。
第一个调用运行良好,我能够获取响应的数据并将其发送到第二个 API,但是,最后一个 API 需要特定格式的数据并且不喜欢换行符 (\ln),我需要将它们替换为 \ln .
到目前为止,我已尝试循环数据并使用“应用于每个”选项以及替换值的条件,但它总是失败。 (我不确定我在做什么或使用可用操作的最佳方式是什么)
这是我正在使用的查询:
replace(replace(outputs('HTTP_call_to_the_Source')?['body'], '/n', ''), '/n', '/r/n')
我得到的错误是:
模板操作“Apply_to_each_2”执行失败:结果 'foreach' 表达式的求值 '@replace(body('HTTP_call_to_the_Source'), '/n', '/r/n')' 的类型 '细绳'。结果必须是有效的数组。
不知道如何解决这个问题,并且文档对我没有多大帮助。
预先感谢您的帮助。
请参阅下面此流程的屏幕截图:
首先,我更改了操作类型,而不是应用到每个,我使用了 Compose,然后添加了以下函数:
replace( outputs('HTTP_call_to_the_Source')?['body'], decodeUriComponent('%0A'), decodeUriComponent('%0D%0A') )
这成功地将所有
\n
替换为 \r\n
。
此答案已作为问题编辑发布已解决! - Power Automate Flow - 更改响应正文,并通过 CC BY-SA 4.0 下的 OP cacharry 将 /n 替换为 /r/n。