功能简介
这个工具可以把 TOML 转成 JSON,也可以把 JSON 转回 TOML。TOML 是 Rust 的 Cargo.toml、Python 的 pyproject.toml,以及 Hugo、Netlify、Deno 等工具使用的配置格式,适合人工编辑;但大多数脚本、接口和校验工具需要 JSON。转换之后,你可以用 JSON 工具检查配置、把配置交给程序处理,或者把 JSON 数据整理成一份清晰的配置文件。
使用方法
- 把 TOML 粘贴到输入框,或把
.toml文件拖进去,也可以点「示例」。 - 输入的同时就会显示 JSON。缩进可以选 2 个或 4 个空格。
- 把「方向」切换到 JSON → TOML 即可反向转换。JSON 的最外层必须是对象,因为 TOML 文档本身就是一个表。
- 复制或下载结果。
TOML 写错时,错误提示会给出行号和列号,点击即可跳到出错位置。常见错误有:字符串缺少结尾引号、同一个键或表定义了两次、= 右边的字符串没有加引号。
示例
TOML 输入:
[server]
host = "0.0.0.0"
port = 8080
[[users]]
name = "Alice"
roles = ["admin", "editor"]
JSON 输出:
{
"server": { "host": "0.0.0.0", "port": 8080 },
"users": [{ "name": "Alice", "roles": ["admin", "editor"] }]
}
[server] 变成嵌套对象,每个 [[users]] 块都会往 users 数组里加一个元素。
类型对应关系
- 字符串、整数、浮点数、布尔值直接对应。超出 JavaScript 安全范围的大整数会丢失精度,ID 之类的值建议用字符串。
- 数组对应数组,表和内联表对应对象。
- 带时区的日期时间、本地日期时间、本地日期、本地时间都会变成 ISO 8601 字符串。
- 反向转换时,
null在 TOML 里没有对应值,会报错并给出路径。嵌套对象会变成[table]段落,对象数组会变成[[array]]段落。
常见问题
› TOML 文件会被上传吗?
不会。解析和转换全部在浏览器里完成,Cargo 清单、pyproject 文件和带密钥的配置都不会离开你的设备。
› 支持哪个版本的 TOML?
支持 TOML 1.0,包括表、表数组、内联表、多行字符串、日期时间,以及十六进制、八进制、二进制整数。
› TOML 里的日期转成 JSON 是什么样?
JSON 没有日期类型,所以日期和时间会变成 ISO 8601 字符串。例如 2026-10-08 仍是 "2026-10-08",1979-05-27T07:32:00Z 会变成 "1979-05-27T07:32:00.000Z"。
› JSON 转 TOML 为什么遇到 null 会报错?
TOML 没有 null 值。工具会停下并告诉你第一个 null 所在的路径(比如 database.password),你可以删掉这个键或给它一个值。
› 注释会保留吗?
不会。TOML 的注释在转换时会被丢弃,因为 JSON 不能表示注释;JSON 本身也没有注释可带到 TOML。