TOML 转 JSON(TOML 校验器)
把 TOML 1.0 转换为 JSON 或 YAML 并校验语法:表、表数组、点键、日期时间、十六进制和大整数,每个错误都会给出行号和列号。
日期和时间会按 TOML 中的写法输出为文本(JSON 没有日期类型)。如需保留每个值属于哪种日期类型,请选择“带类型的 JSON”。
浮点数会带小数点输出(72.0 仍是 72.0),以保持其浮点数类型。
TOML 是 Cargo.toml、pyproject.toml、Hugo、Netlify 等许多工具使用的配置格式。这个转换器严格按照规范解析 TOML 1.0,并把它转成 JSON 或 YAML,方便你把数据交给程序、比较两份配置,或确认文件的真实含义。它同时也是校验器:重复的键、被定义两次的表、缺少的引号等任何错误,都会连同行号和列号一起报告。
使用方法
- 粘贴 TOML 文档。
- 选择 JSON、YAML 或带类型的 JSON。
- 选择缩进方式,以及 JSON 中 inf 和 nan 的写法。
- 复制结果,或根据提示的行号和列号修正错误。
计算公式
[table] → 对象 · [[array]] → 对象数组 · a.b.c = v → 嵌套对象 · 日期时间 → 按原样输出的文本
支持 TOML 1.0 的全部内容:裸键、带引号的键和点键,基本字符串与字面字符串(单行和多行,包括行尾反斜杠),十进制、十六进制、八进制和二进制整数(可含下划线),带指数的浮点数,inf 和 nan,布尔值,带偏移和本地的日期时间,日期,时间,数组和内联表。表的定义规则遵循规范:一个表只能定义一次,点键不能向由标题定义的表中添加内容,内联表是封闭的。整数为 64 位并保留全部位数,键的顺序也会保留。
示例
示例是 toml.io 上的例子。[owner] 变成包含 name 和 dob 的对象,dob 保持 1979-05-27T07:32:00-08:00 不变;ports 变成 [8000, 8001, 8002];内联表 temp_targets 变成 {"cpu": 79.5, "case": 72.0},72.0 保留小数点;[servers.alpha] 和 [servers.beta] 变成 servers 内的两个对象。总共转换了 16 个值(数组的每一项都单独计数)。
常见问题
为什么 JSON 里的日期是字符串?
JSON 没有日期类型,所以按 TOML 中的原样写成文本。选择带类型的 JSON,可以看到每个值是带偏移的日期时间、本地日期时间、日期还是时间。
“table defined more than once”是什么意思?
在 TOML 中每个 [table] 只能出现一次,用点键(apple.color = "red")创建的表也不能再用 [fruit.apple] 重新打开。请把两个块合并成一个。
支持 TOML 1.1 吗?
本工具遵循 TOML 1.0.0。1.1 中新增的功能,例如跨多行的内联表或不带秒的时间,会被报告为错误。
我的文件会被上传吗?
不会。解析在浏览器中完成。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/toml-to-json-tool/
引用此工具
kakaoCalc. (2026, November 8). TOML 转 JSON(TOML 校验器). https://kakao.mobile/zh/tools/toml-to-json-tool/
“TOML 转 JSON(TOML 校验器).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/toml-to-json-tool/.