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

如何在Talend中解析NDJSON格式数据?

Talend解析NDJSON数据的解决方案

NDJSON的核心特点是每行一个独立的JSON对象,而非标准JSON的数组结构,这也是你用tFileInputJSON设置$[*]循环节点却无法解析数据的原因——$[*]是针对JSON数组的循环路径,而NDJSON里没有外层数组。

以下是两种可行的解决方法:

方法一:用tFileInputRaw + tExtractJSONFields组合解析(推荐)

这种方法无需修改源文件,直接处理每行JSON:

  • 拖入tFileInputRaw组件,配置目标NDJSON文件路径、对应编码,保持默认的换行符作为行分隔符,确保每行读取一个完整的JSON对象。
  • 将tFileInputRaw的输出连接到tExtractJSONFields组件(主行连接)。
  • 在tExtractJSONFields配置界面:
    1. 选择输入列(默认是row1.line,即tFileInputRaw读取的整行内容)作为JSON数据源。
    2. 添加字段配置:字段名设为text,类型选String,JSON路径填写$.text。
  • 后续可连接tFileOutputDelimited等组件,将解析后的数据转换为目标格式。

方法二:将NDJSON转换为标准JSON数组(适合允许修改源文件的场景)

如果可以修改源文件格式,把NDJSON包装成标准JSON数组:

  1. 在文件开头添加[,结尾添加]。
  2. 给除最后一行外的每行末尾添加逗号。
    修改后的内容示例:
[
{"text":"some test that should be parsed in operation down the line"},
{"text":"some other test that should be parsed in operation down the line"}
]

之后使用tFileInputJSON组件,循环节点设为$[*],text字段的路径设为$.text,即可正常解析数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 05:22:09