Azure Data Factory V2读取REST API的UTF-8格式JSON时出错
问题解决:ADF直接处理REST资源字符集错误
可以直接用Azure Data Factory解决这个问题,不需要用到Databricks。问题根源是REST返回的Content-Type头里的字符集带了多余的双引号(比如charset="utf-8"),ADF解析时会把带引号的"utf-8"当成无效编码名称。以下是两种可行的ADF内部解决方法:
方法一:强制覆盖Content-Type头
在REST数据集的连接设置中,添加自定义HTTP头Content-Type,值设为application/json; charset=utf-8(去掉引号)。这样ADF会忽略服务返回的带引号的字符集,使用你指定的正确编码解析数据。方法二:二进制格式读取后转码
- 将REST数据集的格式修改为二进制,让ADF跳过自动编码解析,直接读取原始字节数据。
- 使用ADF数据流动或者复制活动中的转换逻辑,将二进制数据转换为字符串,并手动指定编码为
UTF-8。比如在数据流动中用BinaryToString转换函数,设置编码为UTF-8。
这两种方法都能绕过原有的编码解析错误,直接在ADF内完成数据预览和读取。
内容的提问来源于stack exchange,提问作者Alex K
相关产品推荐
相关产品推荐

