zh

JSON 转 JSONL

在本地把 JSON 数组转换为 JSON Lines(NDJSON),每行一条记录,无需上传,直接在浏览器中完成。

正在你的设备上本地处理 ...

正在你的设备上本地处理 ...

0%

我的文件会被上传吗?

不会。一切都在你的浏览器中运行,你的文件永不离开你的设备。这一点如何验证

无需上传100% 本地处理
内容只属于你第三方无法访问
Hosted in GermanyGlobal Content Delivery
经独立审计TLS A+ · 标头 A+

JSON Lines,也就是 NDJSON,每行恰好写一个 JSON 值,是日志、流式管道、数据库导入和机器学习训练数据的首选格式。相比之下,经典的 JSON 数组要求一次性读取整个文件。本工具读取你的 JSON 数组,把每个条目写成它自己的一行紧凑内容。

转换完全在你的浏览器中本地运行,使用纯 JavaScript。从一个对象或值的数组中,你会得到每行一个紧凑的 JSON;顺序得以保留。包裹这样一个数组的对象(例如位于 data 键下)也会被识别,并使用其中的数组。结果可以逐行流式处理,用 jq 之类的工具处理,或分块加载进数据库。

这样就闭合了往返:JSONL 转 JSON,如今再加上 JSON 转 JSONL,两者都可在本地使用。工具对此保持诚实:根处期望一个数组;没有外层数组的单个对象或一个标量会被以清晰的提示拒绝,而不是产出误导性的结果。不会上传任何内容。

JSONL的实用优势:每一行本身都是有效的JSON。因此文件可以逐行流式处理、追加和处理,而无需一次性把全部读入内存 - 而且单独一行出错也不会让整个文档无法读取,换成一个大的JSON数组就会那样。

技术规格

技术规格
输入格式JSON
输出格式JSONL
批量处理不支持
处理方式在浏览器中本地处理 (JavaScript)
文件上传

三步完成

  1. 拖入或选择你的 JSON 文件。
  2. 工具把每个条目写成它自己的一行。
  3. 下载 JSONL 文件。

限制: 期望根处是一个 JSON 数组(或一个恰好包裹这样一个数组的对象)。每个条目写成一行紧凑的 JSON,顺序得以保留。一个标量,或没有外层数组的对象,会被以清晰的提示拒绝。条目内部的嵌套结构会作为紧凑的 JSON 保留在该行上。每条记录的嵌套结构和数据类型(数字、布尔值、嵌套对象/数组)会作为该行的紧凑JSON保持不变。

常见问题

我的文件会被上传吗?

不会。转换完全在浏览器中本地完成,不发送任何内容。

什么是 NDJSON?

NDJSON 是 JSON Lines 的另一个名字:每行恰好包含一个 JSON 值。

如果我的 JSON 是一个里面含有数组的对象呢?

那会被识别:使用其中包含的数组并逐行写出。

顺序会保留吗?

会。各行遵循数组中条目的顺序。

反向也可以吗?

可以,用我们的"JSONL 转 JSON"工具。

相关工具

JSONL 转 JSON · JSON 转 CSV · CSV 转 JSON · YAML 转 XML · XML 转 TOML · TOML 转 XML