ZeroTool Workbench

TOML JSON 转换器

即时进行 TOML 与 JSON 格式互转。支持表格、数组、内联表和所有 TOML 数据类型。免费在线工具,纯浏览器端运行,无需上传。

100% 浏览器端运行 数据不离开你的设备 免费 · 无需注册

使用方法

  1. TOML → JSON:将 TOML 粘贴到左侧面板,点击 TOML → JSON 按钮。
  2. JSON → TOML:将 JSON 粘贴到右侧面板,点击 JSON → TOML 按钮。
  3. 可使用 Ctrl+Enter(Mac 上为 Cmd+Enter)快捷键直接转换当前编辑面板的内容。
  4. 点击面板上的 Copy 按钮,将结果复制到剪贴板。

转换示例

简单表格

输入 TOML:

[database]
host = “localhost”
port = 5432
enabled = true

输出 JSON 包含嵌套的 database 对象,含 host、port 和 enabled 字段。

表格数组

TOML 表格数组(使用双方括号 [[table]] 语法)会转换为 JSON 对象数组。例如,两个 [[fruits]] 表格块转换后得到包含两个对象的 fruits 数组。

TOML 与 JSON 对比

TOML(Tom’s Obvious Minimal Language)是一种以语义明确、易于阅读著称的配置文件格式,广泛用于 Rust 项目(Cargo.toml)、Hugo 等工具。 JSON 是 API 和 Web 服务中最常用的数据交换格式。 本工具在两者之间转换,两种类型系统的差异见下文「转换时会变的地方」。

转换时会变的地方

TOML 有 JSON 没有的类型,反过来也一样。下面的输入:

# build settings
title = "x"
created = 2026-09-29T10:00:00Z
day = 2026-09-29
ratio = inf

[server]
port = 8080

转换结果是:

{
  "title": "x",
  "created": "2026-09-29T10:00:00.000Z",
  "day": "2026-09-29",
  "ratio": null,
  "server": {
    "port": 8080
  }
}
  • 注释会丢失。 JSON 没有注释。
  • 日期时间变成字符串。 带时区偏移的日期时间会补上毫秒(.000Z)。再转回 TOML 时得到的是带引号的字符串,不再是 TOML 日期。
  • inf 和 nan 变成 null。 JSON 没有无穷大和 NaN。
  • 超过 2^53 − 1 的整数会报错。 TOML 1.0 允许 64 位整数,但解析器不会四舍五入,而是报错 integer value cannot be represented losslessly。
  • 转 TOML 时 JSON 的 null 会被丢弃。 TOML 没有 null,{"a": null} 会得到空文档,不报错。请先替换 null 值。

FAQ

支持哪些 TOML 特性?

通过 smol-toml 库支持所有标准 TOML v1.0 特性:表格、表格数组、内联表、点分键、多行字符串、整数、浮点数、布尔值、日期时间和数组。

JSON 对象数组能转换为 TOML 吗?

可以。JSON 对象数组会转换为 TOML 的表格数组([[table.name]] 语法),基本类型数组转换为 TOML 内联数组。

JSON 中的 null 值如何处理?

TOML 没有 null 类型。值为 null 的键会在 TOML 结果中被直接省略,不会报错,所以转换前请先替换 null 值。

数据会发送到服务器吗?

不会。所有转换完全在浏览器中运行,数据不会离开您的设备。