NDJSON 转 JSON 转换器
在浏览器中把 NDJSON(JSON Lines)转成美化的 JSON 数组,或把数组拆回每行一个对象。
NDJSON 转 JSON 转换器完全在你的浏览器中运行。你粘贴的以换行分隔的 JSON 和数组在你的设备上解析,绝不会上传到 ArrayKit。
打开 JSON 格式化工具
关于 NDJSON 转 JSON 转换器
NDJSON 转 JSON 转换器把以换行分隔的 JSON——日志流、API 导出和数据管道所使用的 JSON Lines 格式——重塑为一个美化的 JSON 数组,让你可以阅读或送入解析器。它逐行读取一个 JSON 值,跳过尾部换行留下的空行,并报告它收集到了多少个对象。当某一行无法解析时,它会告诉你确切的行号,让你直接跳到损坏的记录。切换模式即可把 JSON 数组转回 NDJSON,为 jq、BigQuery 或期望 JSON Lines 的批量导入工具输出每行一个紧凑对象。它适合数据工程师、后端开发者,以及任何处理导出文件的人。每次转换都在你的设备上运行,因此你粘贴的记录绝不离开你的浏览器。
功能特性
- 把 NDJSON / JSON Lines 转成单个美化的 JSON 数组
- 反向模式把 JSON 数组拆成每行一个紧凑对象
- 报告输入的对象数量和总行数
- 用确切的 1 基行号标记出错行,让你快速修复
- 跳过尾部换行造成的空行和纯空白行
- 容忍 Windows 导出的 CRLF 行结尾
- 复制结果,或将其下载为 .json 或 .ndjson 文件
- 完全在你的浏览器中运行,不上传任何内容
如何使用 NDJSON 转 JSON 转换器
- 常用方向保持选中「NDJSON → JSON」
- 把你的 NDJSON 粘贴到输入区,每行一个 JSON 值
- 在右侧阅读美化后的 JSON 数组并核对对象数量
- 复制或下载结果,或切换到「JSON → NDJSON」进行反向转换
示例
输入
{"id":1,"name":"Ada"}
{"id":2,"name":"Linus"}
输出
[
{ "id": 1, "name": "Ada" },
{ "id": 2, "name": "Linus" }
]
两行 NDJSON 变成一个两元素的美化 JSON 数组。
常见错误与故障排除
- 转换失败,提示 'Line 5: invalid JSON'(第 5 行:无效 JSON)。 — 打开输入的第 5 行——每一行都必须是一个完整的 JSON 值。末尾多余的逗号、未加引号的键,或跨两行拆开的值都会破坏那条记录。
- 你粘贴了一个 JSON 数组,却选了「NDJSON → JSON」。 — 美化后的数组横跨多行,因此大多数行单独看并不合法。改为切换到「JSON → NDJSON」,把数组拍平成每行一个对象。
- 「JSON → NDJSON」报告 'Expected a JSON array.'(期望一个 JSON 数组)。 — NDJSON 由数组各项产生,因此把你的对象包在 [ ... ] 里。单个对象或裸值无法被拆成多行。
- 输出数组缺少最后一条记录。 — 检查最后一行是否干净结束。尾部空行会被跳过,但被截断的最后一条记录会在那个行号处悄悄产生解析错误。
常见问题
- NDJSON 和 JSON 数组有什么区别?
- NDJSON(也叫 JSON Lines)在每一行放一个独立的 JSON 值,外面没有括号或逗号,因此它逐条记录地流式传输。JSON 数组把所有值包在 [ ] 里、用逗号分隔,必须作为一份文档来解析。本工具在两者之间转换。
- 我如何把 JSON Lines(.jsonl)转成 JSON 数组?
- 在选中「NDJSON → JSON」的情况下,把 .jsonl 文件的内容粘贴进输入区。每一行都会被解析为一个值并收集进一个美化的数组,工具还会显示它读取到了多少个对象。
- 我可以把 JSON 数组转回 NDJSON 吗?
- 可以。切换到「JSON → NDJSON」并粘贴一个 JSON 数组。每个数组元素都会写在它自己的一行上,作为一个紧凑的单行 JSON 值——这正是 jq、BigQuery 和批量导入工具所期望的 JSON Lines 格式。
- 转换器为什么会报告一个具体的行号?
- NDJSON 是面向行的,因此单条格式错误的记录只会破坏它自己那一行。工具在它无法解析的第一行停下,并报告那个 1 基行号,让你去修那条出问题的记录,而不必翻遍整个文件。
- 工具会跳过 NDJSON 中的空行吗?
- 会。空行和纯空白行——常见于文件末尾的尾部换行——会被忽略,因此它们不会作为 null 条目出现,也不会触发解析错误。只有非空行会计入对象总数。
- 我转换 NDJSON 数据时它会被上传吗?
- 不会。NDJSON 转 JSON 的转换完全在你的浏览器中使用内置 JSON 解析器运行。你粘贴的记录绝不会离开你的设备,也不会发送到 ArrayKit。
相关工具
全部 ArrayKit 工具