NDJSON 是什么格式?

NDJSON — 逐行 JSON

这是什么?

NDJSON 将每一个完整的 JSON 对象单独存放在一行,行与行之间既没有外层方括号,也没有逗号分隔。每一行都可以独立读取,互不依赖。

这种设计对处理大数据量至关重要:传统 JSON 文件必须整体加载到内存中才能使用,而 NDJSON 可以逐行读取——这样一来,即便机器只有 8 GB 内存,也能处理一个 50 GB 的文件。

历史与由来

随着流式数据处理的兴起,这种约定应运而生,因为数据量的增长使得整体加载文件的方式越来越不可行。

它逐渐成为应用日志和大型数据库导出的事实标准格式。

为什么好用

无论文件总体积多大,都可以逐行以流式方式处理。

单行数据损坏不会影响其余内容——这与传统 JSON 不同,后者只要有一个逗号位置错误,整个文件就无法解析。

局限与不足

严格来说它不是合法的 JSON:普通的 JSON 解析器会拒绝解析它。

它没有官方规范,因此存在多种变体写法。

使用建议

对于日志、大批量导出或数据流场景,NDJSON 是合适的选择。

若要在表格软件中使用,可将其转换为 CSV——前提是数据结构是扁平的。

在我们位于法国的安全服务器上,几秒内转换您的 NDJSON。

转换 NDJSON