zh

JSON 转 TOML

在本地将 JSON 文件转换为 TOML,得到带表的可读配置,无需上传,就在你的浏览器里完成。

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

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

0%

我的文件会被上传吗?

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

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

JSON 是 API 和程序之间的数据交换格式,但作为人工编辑的配置文件,TOML 更舒服:用方括号划分小节、用简洁的 key=value 行书写,还支持注释;本工具会把你的 JSON 对象序列化成格式规范的 TOML,就像 Cargo.toml 和 pyproject.toml 所用的那样。

整个过程完全在本地运行(基于纯 JavaScript 的 smol-toml);对象变成表,嵌套对象变成子表(例如 [server.meta]),数组变成 TOML 数组,标量变成标量;由于 TOML 顶层必须是一个表,如果根部是数组、标量或 null,会被拒绝并给出明确提示。

你会在这些场景遇到它:从模板生成 Cargo 或 pyproject 配置、把 JSON 设置转成可手动编辑的 .toml,或从 API 输出生成可读的配置;老实说,TOML 没有 null 类型,所以含有 null 值的对象会被拒绝并给出明确提示,而不是被悄悄丢掉;任何内容都不会被上传。

关于边界的诚实说明:TOML没有空值,也不允许同一数组内混合类型。若你的JSON包含这类结构,就无法无损转换 - 工具会把这一点显示出来,而不会悄悄生成无效或错误的内容。

技术规格

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

三步完成

  1. 拖入或选择你的 JSON 文件。
  2. 工具会将它序列化为 TOML。
  3. 下载这个 TOML 文件。

限制: 需要一个顶层 JSON 对象(根部为数组、标量或 null 会被拒绝);嵌套对象转为子表,数组转为 TOML 数组;TOML 没有 null 类型,因此含 null 值的对象会被拒绝;键的顺序沿用 JSON 中的顺序。

常见问题

我的文件会被上传吗?

不会,全部在本地完成。你的 JSON 不会离开浏览器。

为什么根部必须是对象?

因为 TOML 文档在顶层就是一个表,所以转换需要一个顶层 JSON 对象作为起点。

嵌套对象是如何映射的?

映射为 TOML 的表和子表,例如 [server] 和 [server.meta]。

null 值怎么办?

TOML 没有 null 类型,因此含有 null 值的对象会被拒绝,并给出明确提示,而不是被悄悄丢弃。

能反向转换吗?

可以,用我们的“TOML 转 JSON”工具即可。

相关工具

TOML 转 JSON · JSON 转 YAML · YAML 转 JSON · YAML 转 TOML · OBJ 转换为 GLB · GLB 转换为 OBJ