ADF复制活动REST数据集读取JSON数组报错,是否支持JSON Lines数组?
问题解决与说明:ADF REST数据集对JSON数组的支持
核心结论
ADF的REST数据集不支持JSON Lines(每行一个独立JSON对象)格式,但完全兼容顶层为JSON数组的标准格式(即你提供的接口返回示例)。你遇到的反序列化报错,并非JSON Lines兼容性问题,而是REST数据集的JSON解析配置未正确匹配返回格式。
报错原因分析
你收到的JsonInvalidDataFormat(错误码2200、21155),本质是ADF未被明确告知返回内容为顶层数组,导致反序列化时无法识别有效格式。Postman能正常解析是因为它自动处理顶层数组结构,但ADF需要显式配置解析规则。
解决步骤
1. 修正REST数据集的JSON格式配置
- 打开REST数据集配置,切换到格式选项卡(若创建时未指定格式,需重新选择JSON格式)。
- 将文件模式设置为
Array of objects(中文界面显示为「对象数组」)。 - 根节点路径留空:因为接口返回的顶层就是数组,无需指定嵌套路径。
- 确保编码设置为
UTF-8,避免编码不兼容引发解析异常。
2. 配置REST分页规则(替代二进制数据集的分页痛点)
在复制活动的源设置中,根据接口的分页机制配置规则:
- 若接口通过响应头(如
Link字段)返回分页信息,选择「基于响应头的分页」并指定对应头字段。 - 若接口通过响应体字段(如
nextPageToken)返回分页标记,选择「基于响应体的分页」并设置对应的字段路径与参数传递方式。 - 配置完成后,ADF会自动遍历所有分页,且每个页面的JSON数组都会按预设规则解析。
3. 排查特殊字符影响
你的示例中Comments字段包含换行符、制表符和特殊符号(如[),可尝试:
- 在JSON格式设置中开启转义特殊字符选项。
- 使用在线JSON校验工具验证接口返回内容是否严格符合JSON标准(确保引号闭合、逗号位置正确)。
额外验证方案
若仍有报错,可将接口返回的JSON内容保存为本地文件,创建JSON数据集指向该文件并预览:
- 若本地文件能正常预览,说明接口返回格式无问题,需检查REST数据集的请求头、认证配置是否与Postman完全一致。
- 若本地文件也报错,说明JSON内容存在隐藏格式问题(如不可见字符),需联系接口提供者修正。
内容的提问来源于stack exchange,提问作者Abashirsoldom
相关产品推荐
相关产品推荐

