You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Data Factory复制活动中如何将SQL查询JSON结果传入Logic App?

解决Azure Data Factory传递JSON数组到Logic App时的转义斜杠问题

转义斜杠出现的核心原因是:ADF将SQL通过for json path返回的JSON字符串当作普通文本处理,在序列化传递过程中自动对双引号添加转义符,导致Logic App收到的是带转义的字符串而非原生JSON数组。以下是几种直接可行的解决方法:

方案1:在ADF中用数据流转换JSON结构

通过ADF数据流将字符串格式的JSON转为原生JSON数组,从源头避免转义:

  • 复制活动完成后,添加数据流任务,数据源选择复制活动的输出数据集
  • 添加派生列转换,使用json(你的JSON字段名)函数将字符串字段解析为JSON数组
  • 可选:添加拆分转换将数组拆分为单条记录,直接传递给Logic App(后续Logic App无需再拆分)
  • 最后用接收器将处理后的JSON数据传递给Logic App(确保接收器格式为JSON)

方案2:在Logic App中直接处理转义字符串

如果不想修改ADF流程,在Logic App中做字符串清洗再解析:

  1. 接收ADF传递的内容后,先用字符串替换函数去掉转义斜杠:
    replace(triggerBody()?['JSONContent'], '\', '')
    
    (JSONContent替换为ADF实际传递的JSON字段名)
  2. 再用json()函数将清洗后的字符串转为JSON数组:
    json(replace(triggerBody()?['JSONContent'], '\', ''))
    
  3. 之后使用应用到每一个动作遍历数组,拆分出单条记录推送到Event Hubs

方案3:优化ADF数据集配置

确保ADF复制活动使用的数据集是JSON格式而非文本格式:

  • 在ADF中创建JSON格式的输出数据集,设置正确的分隔符和结构
  • 复制活动的输出关联该JSON数据集,让ADF识别返回内容为JSON而非普通文本,减少自动转义行为

注意事项

  • 如果选择在Logic App中解析,建议提前生成JSON schema(用示例JSON数组生成),添加解析JSON动作并关联schema,确保解析后的数组结构正确
  • 处理大体积JSON时,注意Logic App的内存限制,拆分单条记录后再推送Event Hubs更稳妥

内容的提问来源于stack exchange,提问作者azuresnowflake1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 03:33:16