如何在Azure Data Factory中提取JSON数组并保存为JSON文件
解决Azure Blob中JSON数组提取并保存的方案
方案一:复制活动(最简便)
直接通过配置源数据集的JSON路径表达式,精准提取目标数组:
- 配置源数据集:选择JSON格式,在「连接」页签的JSON路径表达式中填写
$.output,复制活动会直接读取output字段对应的数组内容。 - 配置目标数据集:选择JSON格式,将「连接」页签的文件模式设置为数组(而非「对象数组」)。
- 配置复制活动:源使用上述源数据集,目标使用目标数据集,运行活动后即可生成纯数组格式的JSON文件。
方案二:映射数据流(适合复杂场景扩展)
如果需要后续对数组内容做处理,用数据流更灵活:
- 源转换:连接到Blob中的JSON文件,设置「文档形式」为
Single document,确保读取完整的JSON对象。 - 派生列转换:添加派生列,表达式直接写
output,将数组字段提取为新的根字段(也可直接用「选择」转换保留output字段)。 - 接收器转换:选择JSON格式的目标数据集,开启「输出到单个文件」;在「设置」页签的JSON设置中,将「文件模式」设为
Array,即可输出纯数组JSON。
方案三:Lookup活动配合复制活动(适合需先验证数组内容的场景)
- Lookup活动:读取Blob中的JSON文件,在「设置」页签勾选「第一行仅」,获取包含
output数组的对象。 - 设置变量:添加「设置变量」活动,将变量类型设为「数组」,值填写
@activity('Lookup活动名称').output.firstRow.output,提取出目标数组。 - 复制活动:源选择「内联数据集」,类型为JSON,内容填写
@variables('数组变量名称');目标配置为Blob存储的JSON数据集,文件模式设为「数组」,运行即可导出数组文件。
内容的提问来源于stack exchange,提问作者Nagarajan Lakshmi Narayanan
相关产品推荐
相关产品推荐

