Azure Data Factory复制活动中JSON反斜杠的保留问题
解决Azure Data Factory Copy Activity丢失JSON反斜杠的问题
当用ADF的复制活动处理JSON文件时,原字段里的转义反斜杠(比如"14\/09\/1995")会被自动解析成普通斜杠,导致输出变成"14/09/1995"。要保留原转义格式,试试这几种方法:
方法一:调整复制活动的JSON格式设置
在复制活动的源数据集配置里,找到JSON格式的高级设置:
- 把
转义字符明确设为\ - 开启
保留转义字符选项(部分ADF版本里这个选项可能叫Preserve escape characters,在格式标签页的高级栏里)
方法二:用数据流动替代复制活动
如果复制活动默认处理搞不定,换数据流动来处理:
- 源数据集选JSON格式,按实际情况设为单文档或多文档模式,确保读取时保留原始字符串的转义状态
- 添加派生列转换,对DOB字段用表达式处理:
replace(DOB, "/", "\\/"),把斜杠替换成转义后的斜杠 - 输出数据集同样选JSON格式,关闭自动转义处理,保证输出时保留转义字符
方法三:前后加自定义脚本处理
要是上面两种方法都不行,就在复制活动前后加自定义活动,跑Python或PowerShell脚本:
- 预处理:读原始JSON,把需要保留的
\/换成\\/(双重转义),这样复制活动处理后会留下一层转义 - 后处理:读复制后的JSON,把字段里的
/替换回\/
验证示例
输入JSON:
{ "Name": "xyz", "DOB":"14\/09\/1995" }
用上述方法处理后,输出就能达到期望效果:
{ "Name": "xyz", "DOB":"14\/09\/1995" }
内容的提问来源于stack exchange,提问作者Nagarajan Lakshmi Narayanan
相关产品推荐
相关产品推荐

