TOML JSON 转换器
即时进行 TOML 与 JSON 格式互转。支持表格、数组、内联表和所有 TOML 数据类型。免费在线工具,在浏览器中处理,无需上传。
- 在浏览器中处理
- 数据不离开你的设备
- 免费 · 无需注册
用微信扫描以下二维码即可分享
示例、说明与常见问题 带实际输出的示例、与同类工具的差别,以及常见问题。
转换示例
简单表格
输入 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
[server]
port = 8080
转换结果是:
{
"title": "x",
"created": "2026-09-29T10:00:00.000Z",
"day": "2026-09-29",
"server": {
"port": 8080
}
}
-
注释会丢失。 JSON 没有注释。
-
日期时间变成字符串。 带时区偏移的日期时间会补上毫秒(
.000Z)。再转回 TOML 时得到的是带引号的字符串,不再是 TOML 日期。 -
精度超过毫秒的时间会停止转 JSON。 TOML 解析器只保留到毫秒,后面的位数会被舍去(TOML 1.0 允许解析器这样做)。
[build]表里的started = 2026-10-01T09:30:00.123456Z得到未转换:JSON 无法原样保存下列值:/build/started:2026-10-01T09:30:00.123456Z 的精度超过毫秒。末尾补零(如.120000)不丢信息,照常转换。字符串和注释里的日期时间是文本,不检查。 -
inf和nan会停止转 JSON。 JSON 没有无穷大和 NaN,JSON.stringify会写成null。下面的 TOML:ratio = inf [limits] max = nan得到
未转换:JSON 无法原样保存下列值:/ratio:inf 在 JSON 中没有写法(JSON.stringify 会写成 null);/limits/max:nan 在 JSON 中没有写法(JSON.stringify 会写成 null)。 -
超出 ±(2^53 − 1) 的整数在两个方向都会停止转换。 TOML 1.0 允许 64 位整数,但 TOML 解析器不会四舍五入,而是报错
integer value cannot be represented losslessly。JSON → TOML 时JSON.parse会把它们四舍五入,所以工具改为列出字段;1e400这类超出双精度范围的数字也会列出。 -
JSON 的
null会停止转 TOML。 TOML 没有 null。下面的 JSON:{"user":{"id":9007199254740993,"nickname":null}}得到
未转换:TOML 无法原样保存下列值:/user/id:整数 9007199254740993 超出 ±(2^53 − 1),JavaScript 会把它四舍五入;/user/nickname:null,TOML 没有 null。请把大 ID 写成字符串,替换或删除 null 后再转换。 -
转换失败时输出面板会清空,复制按钮停用,不会误复制之前的结果。
-
-0.0在两个方向都保留负号。 JSON{"offset":-0.0}得到 TOML 浮点数offset = -0.0,TOMLoffset = -0.0得到"offset": -0.0(只用JSON.stringify会写成0)。JSON 整数-0写成整数零:{"count":-0}得到count = 0,TOML 1.0 规定-0、+0与0是同一个整数。
FAQ
支持哪些 TOML 特性?
通过 smol-toml 库支持所有标准 TOML v1.0 特性:表格、表格数组、内联表、点分键、多行字符串、整数、浮点数、布尔值、日期时间和数组。
JSON 对象数组能转换为 TOML 吗?
可以。JSON 对象数组会转换为 TOML 的表格数组([[table.name]] 语法),基本类型数组转换为 TOML 内联数组。
JSON 中的 null 值如何处理?
TOML 没有 null 类型,所以工具不转换,并按路径列出每个 null 字段(如 /user/nickname)。替换或删除 null 后再转换。
数据会发送到服务器吗?
不会。所有转换在浏览器中运行,数据不会离开您的设备。