JSON 与数据处理指南

JSON Lines:逐行记录、流式处理与校验

区分 JSONL 与 JSON 数组,理解转义换行、坏记录定位和逐行处理。

Nav Tools ·

每一行都是独立 JSON 值

JSON Lines 使用 UTF-8,每行是一个合法 JSON 值,外面没有数组括号,记录之间也不加逗号。

对象最常见,但其他 JSON 值也可作为记录;空行不是合法 JSON 值,需要明确处理策略。

{"id":1,"name":"Ada"}
{"id":2,"name":"Lin"}

字段换行需要转义

字符串中的换行应在一条记录内写为反斜杠 n,字面换行会拆开记录。

把单个对象美化成多行会破坏 JSONL 分帧,导出时应让每条记录保持单行。

{"note":"first\nsecond"}

定位出错记录

应逐行校验并报告实际行号,第 37 条出错不需要先猜整个 JSON 数组的边界。

明确选择停止还是隔离坏记录,静默跳过可能丢失事件或业务记录。

格式可流式不代表工具无限流式

JSONL 支持生产者逐条写入,但某个转换器仍可能一次读取整个文件;本站有浏览器输入限制。

大型导出应采用服务端流式解析,小型转换则在下载前核对记录数和长整数 ID。

参考资料

← JSON 与数据处理指南