ZH
我的工具

TOML 转 JSON(TOML 校验器)

把 TOML 1.0 转换为 JSON 或 YAML 并校验语法:表、表数组、点键、日期时间、十六进制和大整数,每个错误都会给出行号和列号。

JSON
有效的 TOML 1.0
Yes
含根表共 6 个表
值的数量
16

日期和时间会按 TOML 中的写法输出为文本(JSON 没有日期类型)。如需保留每个值属于哪种日期类型,请选择“带类型的 JSON”。

浮点数会带小数点输出(72.0 仍是 72.0),以保持其浮点数类型。

我的工具 →
广告

TOML 是 Cargo.toml、pyproject.toml、Hugo、Netlify 等许多工具使用的配置格式。这个转换器严格按照规范解析 TOML 1.0,并把它转成 JSON 或 YAML,方便你把数据交给程序、比较两份配置,或确认文件的真实含义。它同时也是校验器:重复的键、被定义两次的表、缺少的引号等任何错误,都会连同行号和列号一起报告。

使用方法

  1. 粘贴 TOML 文档。
  2. 选择 JSON、YAML 或带类型的 JSON。
  3. 选择缩进方式,以及 JSON 中 inf 和 nan 的写法。
  4. 复制结果,或根据提示的行号和列号修正错误。

计算公式

[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 中新增的功能,例如跨多行的内联表或不带秒的时间,会被报告为错误。

我的文件会被上传吗?

不会。解析在浏览器中完成。

资料来源

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). TOML 转 JSON(TOML 校验器). https://kakao.mobile/zh/tools/toml-to-json-tool/

MLA

“TOML 转 JSON(TOML 校验器).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/toml-to-json-tool/.

广告