ADF+Logic App运行SSAS分区时,JSON变量反斜杠去除方法咨询
解决ADF传递JSON到Logic App时去除反斜杠并作为请求体的方法
问题场景
我正尝试通过ADF(Azure Data Factory)和Logic App运行基于表与分区的SSAS表格解决方案分区任务。已创建包含该表格解决方案中维度表和事实表列表的表,尝试通过ADF传递至Logic App以自动执行任务处理SSAS解决方案。但读取包含JSON脚本的变量时遇到问题,需要去除字符串中的反斜杠\,并将其作为JSON传入请求体。
具体解决步骤
1. 在ADF中预处理JSON字符串
如果带反斜杠的JSON字符串是在ADF管道/数据流中生成的,直接使用**replace函数**去除转义符:
- 表达式示例:
replace(variables('YourJsonVariable'), '\', '') - 将
YourJsonVariable替换为你实际存储JSON字符串的变量名,该函数会批量清除所有反斜杠,输出纯净的JSON格式字符串。
2. 在Logic App中接收并转换
如果是Logic App接收到带转义符的字符串,可通过两种方式处理:
方式一:直接用json()函数解析
在Logic App的动作里,将接收到的字符串用json()函数包裹,自动处理转义并转为JSON对象:
- 示例:
json(triggerBody()['YourJsonField']) - 其中
YourJsonField是ADF传递过来的目标字段名,json()函数会自动识别转义的JSON结构,去除反斜杠并解析为可直接使用的JSON对象。
方式二:先替换再解析
若json()函数无法直接解析,先手动替换反斜杠再执行解析:
- 表达式示例:
json(replace(triggerBody()['YourJsonField'], '\', ''))
3. 确保请求体格式正确
在Logic App的HTTP请求动作中,将处理后的JSON直接填入请求体,同时把请求的Content-Type设置为application/json,保证后端能正确识别JSON格式的请求内容。
内容的提问来源于stack exchange,提问作者user21984731
相关产品推荐
相关产品推荐

