JSON 转 JSONL 转换器
即时将 JSON 数组转换为 JSONL(JSON Lines)格式。100% 客户端处理,数据不会离开您的浏览器。
输入 JSON
拖拽 .json 文件到此处,或点击浏览
支持 .json, .txt
输入 JSON
拖拽 .json 文件到此处,或点击浏览
支持 .json, .txt
输出 JSONL
粘贴或拖入 JSON 内容即可转换
什么是 JSON 转 JSONL 转换?
JSON 转 JSONL 转换将标准 JSON 数组转换为换行分隔的 JSON 格式。这对于为 OpenAI 等机器学习平台准备数据、流式数据管道以及期望每行一个 JSON 对象的日志处理系统至关重要。
例如,一个包含三个对象的 JSON 数组会变成 JSONL 文件中的三行,每行都是独立的 JSON 对象,没有外围的方括号和逗号。
各种输入形态分别会被如何处理
JSON 文件有好几种常见形态,「转成 JSONL」对每种形态的含义都不同。下面是本工具应用的精确映射:
| 输入形态 | 结果 | 说明 |
|---|---|---|
| 顶层数组 — [{...},{...}] | 每个数组元素一行 | 最常见的情况;元素顺序保持不变 |
| 包裹数组的对象 — {"data": [...]} | 内层数组的每个元素一行 | 包裹层的键会被丢弃;只有数组内容保留下来 |
| 单个对象 — {...} | 只有一行的 JSONL 文件 | 合法但很少是您想要的 —— 确认一下是不是本想选取某个内层数组 |
| 标量数组 — [1, "a", true] | 每个标量一行 | 这是合法的 JSONL:任何 JSON 值都可以作为一行,不限于对象 |
如何将 JSON 转换为 JSONL
JSON 转 JSONL 转换将标准 JSON 数组中的每个元素转换为单独的一行。输出中的每一行都是完整、有效的 JSON 对象,行之间用换行符分隔。
我们的转换器完全在浏览器中运行,不会将任何数据发送到服务器。只需粘贴 JSON 文本或拖入文件,JSONL 输出即刻呈现。
如果输入的是单个 JSON 对象(非数组),将输出为单行 JSONL。数组会被展开,每个元素成为独立的一行。
值得了解的边界情况
嵌套数组:只拆顶层
{"orders": [{"id": 1, "items": [{"sku": "A"}, {"sku": "B"}]},{"id": 2, "items": [{"sku": "C"}]}]}
这会输出两行 —— 每个 order 一行。内层的 items 数组仍嵌套在各自的行里。如果您真正想要的是每个 item 一行,请先把结构展平(Flatten JSON 工具可以做到),再做转换。
空数组与非 JSON 输入
[]
空数组会转换成空文件 —— 零行,这是合法的 JSONL 文档。完全不是合法 JSON 的输入(尾随逗号、单引号、注释)会直接报解析错误,而不是悄悄产出坏行;请先修好 JSON,或用验证器定位问题。
常见错误与解决方案
输入不是有效的 JSON 数组
转换器期望输入为 JSON 数组(以 [ 开头并以 ] 结尾)。如果输入的是用花括号包裹的单个对象,会被输出为一行 JSONL。如需生成多行输出,请确保数据用方括号包裹。
嵌套数组不会被展平
如果您的 JSON 包含嵌套数组(数组中的数组),只有顶层数组会被展开为 JSONL 行。内部数组仍作为每行中的 JSON 值保留。如需提取嵌套记录,请使用我们的 JSON 扁平化工具。
格式化的 JSON 存在语法错误
从文档或代码注释中复制粘贴 JSON 时可能引入不可见字符或缺少逗号。如果转换失败,请先使用 JSON 验证器验证输入的语法正确性。
常见用例
机器学习训练数据
为 OpenAI、Hugging Face 等需要 JSONL 格式的机器学习平台准备微调数据集。
日志处理
将 JSON 数据导出转换为 JSONL,以便使用 grep 和 jq 等工具高效流式处理。
数据管道
将 JSON 数组转换为 JSONL,用于逐行处理数据的 ETL 管道,提升内存效率。
批量 API 请求
将 JSON 数组转换为 OpenAI 批量 API 等所需的 JSONL 格式。
OpenAI 微调数据准备
将 JSON 训练数据集转换为 OpenAI 微调 API 所需的 JSONL 格式,每个训练样本作为单独的一行。
流式数据接入
将 JSON 数组转换为 JSONL,以便逐行接入 Apache Kafka、AWS Kinesis 或 Google Pub/Sub 等流式平台。
常见问题
这个 JSON 转 JSONL 转换器接受什么输入?
是的。所有转换都在您的浏览器本地进行,不会将任何数据发送到服务器。您的 JSON 内容永远不会离开您的设备。
可以将单个 JSON 对象转换为 JSONL 吗?
如果输入的是单个 JSON 对象,将输出为单行 JSONL。只有数组才会展开为多行。
这个 JSON 转 JSONL 转换器会上传我的数据吗?
是的。JSON 数组的每个元素都被序列化为独立行上的紧凑 JSON 字符串。转换过程中不会丢失或修改任何数据。
从 JSON 转换后如何验证 JSONL?
可以!使用我们的 JSONL 转 JSON 转换器将 JSONL 文件转换回 JSON 数组。
为什么嵌套数组在 JSON 转 JSONL 转换中不会被展平?
没有硬性限制。转换器可处理数百 MB 的文件。性能取决于您的浏览器和设备内存。对于非常大的文件,转换可能需要几秒钟。
如何将 JSONL 转回 JSON?
是的。JSONL 输出在最后一行之后以换行符结尾,这是 JSONL 文件的标准约定,确保与命令行工具兼容。
可以转换包含 Unicode 或 emoji 等特殊字符的 JSON 吗?
可以。所有 Unicode 字符,包括 emoji 和非拉丁文字,在转换过程中都会被完整保留。转换器正确处理完整的 UTF-8 字符集。
这和手动删除方括号和逗号有什么区别?
手动编辑容易出错,尤其是对于大文件或包含嵌套逗号和括号的对象。我们的转换器会正确地将每个数组元素序列化为紧凑、有效的 JSON 行,自动处理嵌套对象和特殊字符等边界情况。