如何使用ADF数据流可视化表达式处理转义列值后写入CSV文件
ADF数据流处理转义JSON格式列的实现方法
你可以直接在数据流的派生列组件中通过内置表达式完成处理,以下是两种可选方案:
方案1:JSON解析法(推荐,兼容性强)
适合列内容本质为JSON结构的场景,不会因为特殊字符出现处理错误:
- 第一步:清理冗余转义字符,得到合法JSON字符串
编写表达式移除反斜杠、HTML转义引号、方括号等冗余符号:cleanedJson = replace(replace(replace(replace(待处理列名, '\', ''), '"', '"'), '[', ''), ']', '') - 第二步:将字符串解析为JSON对象
调用parse函数完成类型转换:jsonObj = parse(cleanedJson) - 第三步:提取字段拼接为目标格式
如果键名固定,直接提取对应值拼接即可:最终列名 = concat('name:', jsonObj.name, ',values:', jsonObj.values)
如果JSON内的键名是动态变化的,你可以调用
keyValues(jsonObj)获取所有键值对数组,再通过reduce函数遍历拼接即可。
方案2:纯字符串替换法(适合固定简单结构)
如果字段结构非常固定,不需要做JSON解析,直接嵌套替换即可得到结果:最终列名 = replace(replace(replace(replace(replace(待处理列名, '\', ''), '"', ''), '[', ''), ']', ''), '"', '')
内容的提问来源于stack exchange,提问作者sac
相关产品推荐
相关产品推荐

