Azure Logic App转换JSON数组时替换反斜杠问题求助
解决Azure Logic App返回JSON数组带反斜杠的问题
问题原因
你的数组内容被Logic App当成字符串类型做了二次序列化,所以才会出现转义反斜杠,而非原生JSON数组结构。
解决方案
1. 用json()函数解析字符串为JSON对象
如果你的输出是被包裹成字符串的JSON,直接用json()函数将其转换为原生JSON结构,返回时就不会带转义符。
假设上游动作的字符串化数组存在body('Previous_Action')?['yourStringifiedArray'],使用如下表达式:
json(body('Previous_Action')?['yourStringifiedArray'])
将该表达式的结果作为响应内容返回即可。
2. 检查上游动作的输出类型
如果是上游动作(如HTTP请求、SQL查询)返回的结果被自动转成字符串,需确认:
- HTTP动作中,响应头的
Content-Type是否为application/json,而非text/plain - 避免手动用
string()函数将数组转成字符串,直接输出原生数组对象
3. 用Compose动作保留原生结构
若中间步骤的数组被意外转义,可添加Compose动作:
- 在Compose的输入框中直接传入数组对象(如
{"ABC": ["000D","100D","1200D"]}) - 将Compose的输出
outputs('Compose')作为响应Body返回,即可得到无反斜杠的正确JSON格式
内容的提问来源于stack exchange,提问作者Paramita Das
相关产品推荐
相关产品推荐

