如何用Talend Open Studio解析嵌套JSON数组并转为表格
Talend Open Studio:嵌套JSON转CSV的简洁实现方案
需求回顾
要解析嵌套JSON(金融工具数组,每个元素含可选transactionDetails子数组),导出为CSV表格,要求每行对应一个工具+交易明细组合,无交易时交易字段填充空值。此前尝试的元数据提取生成数组、多组件串联的方案要么不符合预期,要么过于繁琐。
极简实现:单tInputJsonFile搞定嵌套展开+空值处理
无需复杂组件链,仅通过tInputJsonFile的配置就能完成需求,步骤如下:
配置JSON遍历与字段提取
- 拖拽
tInputJsonFile到画布,指定源JSON文件路径 - 在「JSON Settings」标签,设置Main JSON Path Query为
$[*],遍历所有金融工具 - 点击「Edit Schema」添加输出字段:
- 顶层字段:
isin、Description,对应JSON路径直接填isin、Description - 交易明细字段:比如
transactionId、transactionAmount,对应JSON路径设为transactionDetails[*].transactionId、transactionDetails[*].transactionAmount(注意[*]用来遍历子数组)
- 顶层字段:
- 开启Flatten nested JSON选项(在「Advanced settings」里):这个设置会自动把嵌套的
transactionDetails数组展开为多行,每个交易明细对应一行父级工具的信息
- 拖拽
处理空交易场景
在Schema编辑界面,给所有交易明细字段设置Default value为空字符串(或null,根据CSV格式需求调整)。当某个工具没有transactionDetails数组时,这些交易字段会自动填充预设的空值,不会丢失该工具的isin和Description导出CSV
把tInputJsonFile的输出直接连到tFileOutputDelimited,配置CSV的分隔符、编码、输出路径等参数,运行作业即可得到目标表格
额外提示
如果需要对字段做简单重命名或类型转换,可以在两个组件之间加一个tMap,但仅需做基础映射,无需复杂逻辑。
内容的提问来源于stack exchange,提问作者Fabio Mignardi
相关产品推荐
相关产品推荐

