You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ADF分页获取RestAPI多页数据生成无效JSON文件的解决方法咨询

Azure Data Factory分页提取RestAPI JSON无效文件解决方案

ADF完全支持处理这类分页提取后合并JSON的场景,以下是几种实用解决方法:

方法1:调整复制活动的JSON源配置

直接在复制活动的源数据集或源设置中配置JSON提取规则,避免重复根节点:

  • 打开源数据集的JSON格式设置,将根路径指定为$.results,这会让ADF自动提取每一页响应中results数组内的所有元素,而不是将整个JSON对象追加到文件中。
  • 同时确保复制活动的分页配置正确:根据API的分页机制(如基于nextLink响应体字段、页码参数等)在源设置里配置分页规则,保证10页数据都能被正确遍历。

方法2:用Mapping Data Flow实现合并与输出

如果复制活动的配置无法满足需求,用数据流做更灵活的处理:

  • 添加Rest源组件,配置API地址、认证信息和分页规则(比如从响应体中提取nextPageUrl作为下一页请求地址),让数据流自动拉取所有10页数据。
  • 添加解析JSON组件,将每一页的响应内容解析为结构化数据,提取results数组的所有行数据。
  • 直接用接收器组件将合并后的行数据输出为单个合法的JSON数组文件(接收器格式选择JSON,设置为数组输出模式)。

方法3:后期修复已生成的无效JSON文件

如果已经产生了包含重复results节点的无效文件,可以用ADF的存储过程活动做修复:

  • 编写存储过程(如Azure Blob存储的自定义脚本或Azure SQL的存储过程),读取无效JSON文件内容:
    • 替换字符串中的}{为,,去掉重复的"results":标识,只保留首尾的数组括号,将多个results数组合并为一个完整数组。
  • 在ADF中添加存储过程活动,调用该脚本完成文件修复。

内容的提问来源于stack exchange,提问作者Sukanya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 19:44:58