35MM.COFFEEa site built for app makers
Profile
limboy

大约 3 小时前

JSON Lines(也称为换行符分隔的 JSON,Newline-delimited JSON)是一种专门为存储和处理结构化数据而设计的文本文件格式。它的核心优势在于允许一次处理一条记录,这使其在处理大规模数据集、日志文件以及进程间消息传递时表现出色。与传统的 JSON 数组不同,JSON Lines 不需要将整个文件加载到内存中即可进行解析,因此非常适合 Unix 风格的文本处理工具和 Shell 管道操作。

该格式遵循三个核心原则:首先,使用 UTF-8 编码,确保了国际化支持并避免了字符误读,同时明确禁止使用字节顺序标记(BOM);其次,文件中的每一行都必须是一个独立的、有效的 JSON 值(通常是对象或数组),但不允许出现空行;最后,使用 \n 作为行分隔符,由于 JSON 解析器会自动忽略周围的空白符,因此也兼容 \r\n。

在实际应用中,JSON Lines 建议使用 .jsonl 作为文件扩展名,并推荐配合 gzip 或 bzip2 等流式压缩工具使用。虽然其 MIME 类型 application/jsonl 尚未完全标准化,但它已在开发者社区中得到广泛应用。这种格式通过简单的换行规则,解决了传统 JSON 在流式传输和增量追加时的局限性,是现代数据工程中不可或缺的轻量级工具。