如何移除ADF复制活动JSON源数据外层的数组方括号
ADF复制活动移除JSON外层数组方括号解决方案
方法1:修改复制活动源配置(最简便,推荐)
- 进入对应复制活动的源配置页
- 找到JSON配置区的
集合引用(Collection reference)参数 - 若API返回的完整响应本身就是外层数组,直接填写
$作为引用路径;若外层数组是响应体内的某个字段属性,比如返回结构是{"code":200,"data":[]},则填写对应数组的路径比如$.data - 配置完成后通过源数据预览功能验证输出,此时ADF会直接读取数组内的元素,输出时不会携带外层方括号
方法2:通过数据流扁平化处理(适合复杂结构场景)
- 在管道中新增数据流活动,替换原有纯复制逻辑:
- 添加源节点,对接API接口作为输入源,格式设为JSON
- 添加Flatten转换节点,选择外层数组对应的列作为展开字段
- 添加接收器节点,将JSON输出格式配置为按行输出单个JSON对象,无需外层数组包裹
- 调试确认输出格式符合要求后,接入原有管道链路即可
方法3:表达式字符串处理(适合小数据量场景)
如果JSON体积较小,可以通过变量处理外层符号:
- 先调用API将响应结果存入字符串类型变量
rawJson - 新增设置变量活动,使用表达式移除首尾方括号:
@substring(variables('rawJson'), 1, sub(length(variables('rawJson')), 2)) - 将处理后的变量内容写入目标存储即可
注意:如果JSON内容本身包含转义的方括号,不要使用方法3,避免破坏内部JSON结构。
内容的提问来源于stack exchange,提问作者Brilight
相关产品推荐
相关产品推荐

