Data Factory Data Flow REST源处理JSON数组响应的问题咨询
针对Azure Data Factory Data Flow REST源直接返回JSON数组的优化解决方案
问题背景
- 当REST API返回包含
data数组的JSON对象时,可通过定义Source Projection、Unrolldata字段、Sink自动映射,轻松导出为CSV。 - 当API直接返回JSON数组时,Source Projection会将body识别为complex object而非complex array,无法执行Unroll操作,直接写入CSV Sink会触发验证错误;现有临时方案(Aggregate任务+
collect()函数)操作繁琐。
优化解决方案
方案1:配置REST源的JSON路径表达式
在REST源的Source Options中,设置Json path expression为$,该配置会告知Data Flow直接解析根层级的JSON数组,Source Projection将自动识别body为complex array,后续流程与处理带嵌套数组的JSON对象完全一致:
- 完成Source配置后,进入Projection面板,确认body类型已变为
array(complex) - 添加Unroll转换,选择body字段作为Unroll对象
- 直接连接CSV Sink,启用自动映射完成数据导出
方案2:手动修正Source Projection字段类型
若方案1未生效,可手动调整字段类型:
- 在REST源的Projection面板中,点击body字段的类型标识(默认显示为
complex) - 将类型修改为
array(complex),保存后即可正常添加Unroll转换进行后续处理
验证说明
以上两种方案均无需依赖额外转换组件,流程简洁度与处理带嵌套数组的JSON对象一致,可高效解决直接JSON数组响应的解析问题。
内容的提问来源于stack exchange,提问作者Fabio Carello
相关产品推荐
相关产品推荐

