NDJSON 是什么格式?
NDJSON — 逐行 JSON
这是什么?
NDJSON 将每一个完整的 JSON 对象单独存放在一行,行与行之间既没有外层方括号,也没有逗号分隔。每一行都可以独立读取,互不依赖。
这种设计对处理大数据量至关重要:传统 JSON 文件必须整体加载到内存中才能使用,而 NDJSON 可以逐行读取——这样一来,即便机器只有 8 GB 内存,也能处理一个 50 GB 的文件。
历史与由来
随着流式数据处理的兴起,这种约定应运而生,因为数据量的增长使得整体加载文件的方式越来越不可行。
它逐渐成为应用日志和大型数据库导出的事实标准格式。
为什么好用
无论文件总体积多大,都可以逐行以流式方式处理。
单行数据损坏不会影响其余内容——这与传统 JSON 不同,后者只要有一个逗号位置错误,整个文件就无法解析。
局限与不足
严格来说它不是合法的 JSON:普通的 JSON 解析器会拒绝解析它。
它没有官方规范,因此存在多种变体写法。
使用建议
对于日志、大批量导出或数据流场景,NDJSON 是合适的选择。
若要在表格软件中使用,可将其转换为 CSV——前提是数据结构是扁平的。
在我们位于法国的安全服务器上,几秒内转换您的 NDJSON。
转换 NDJSON