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

Azure Data Factory WEB活动调用SendGrid API无法返回JSON格式结果

解决ADF调用SendGrid SENDERS接口返回非JSON格式问题

问题现象

调用SendGrid的/v3/marketing/senders GET接口时,Postman及其他接口均能正常返回JSON,但Azure Data Factory(ADF)返回的是带引号和转义字符的字符串格式,示例如下:

"[{"id":1111111,"nickname":"Marketing","from":{"email":"abc@m.abc.com","name":"Marketing"},"reply_to":{"email":"abc@m.abc.com","name":""},"address":"sometext","address_2":"","city":"sometext","state":"","zip":"00000","country":"ABC","verified":{"status":false,"reason":null},"updated_at":1111111,"created_at":111111,"locked":false}]\n"

解决步骤

1. 检查ADF HTTP活动的响应格式设置

  • 打开HTTP活动的输出设置,确认响应格式选择为JSON,而非Text或其他选项。ADF若识别响应格式错误,会将JSON内容当作纯字符串返回。

2. 添加强制JSON的请求头

  • 在HTTP活动的请求头中添加Accept: application/json,强制SendGrid API返回标准JSON格式,避免ADF因响应头识别偏差导致格式异常。
  • 同时确认Authorization头格式正确(Bearer {你的SendGrid API密钥}),权限问题也可能导致非预期响应。

3. 对返回结果进行二次解析

若上述设置后仍未解决,说明ADF已将JSON响应封装为字符串,需通过表达式手动解析:

  • 在后续活动(如Set Variable或数据流)中,使用ADF的json()函数转换结果:
    @json(activity('你的HTTP活动名称').output)
    
  • 若在数据流中处理,可添加派生列转换,使用表达式:
    json(toString($body))
    
    转换后即可得到正常的JSON对象。

4. 排查响应编码设置

  • 进入HTTP活动的高级设置,确认编码设置为UTF-8,与SendGrid API的响应编码保持一致,避免因编码不匹配导致的转义问题。

内容的提问来源于stack exchange,提问作者Ricardo Alberto Mercedes Garca

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 22:05:03