JSON 转 TOML 工具

粘贴一个 JSON 对象,即可得到与之数据相同的 TOML 文件,这是许多配置文件所用的格式。工具还会指出 TOML 无法保存的内容,例如 null,并说明它出现在哪个名称处。

免费 在浏览器中运行 核对于2026年11月11日星期三

完整的 JSON 文本,最外层必须是花括号括起的对象。名称保持原有顺序,数字保留全部数位。内容不会被发送或存储。

结果

TOML — 可复制,或下载为 config.toml。
检查 — 能转换时显示绿色;显示红色时,指出出错的位置和原因。
TOML

此工具在您的浏览器中运行。您输入的内容不会发送给我们。

使用方法

  1. 把 JSON 对象粘贴到“JSON 对象”中。整段文本必须是一个对象,最外层用花括号括起。
  2. 阅读“检查”。绿色表示对象已转换;红色时,指出出错的名称和原因。
  3. 把“TOML”中的输出复制到文件中,或下载为 config.toml。

TOML 的排版方式

每个表先写它自己的值,再写它的子表。TOML 需要这样的顺序:表的值必须位于开启其子表的标题之前。名称保持 JSON 中的原有顺序。

  • 对象中的对象变为一个带有自己标题的表,例如 [owner],其值写在标题之后。
  • 对象列表变为表数组:每个对象一节,标题用双层方括号。
  • 数字或文本的列表保持在一行内,写在方括号中,这是 TOML 允许的写法。
  • 带小数点或指数的数字写作浮点数,因此1.0仍为1.0。不带小数点或指数的数字写作整数。

TOML 无法保存的内容

  • null。TOML 没有 null,因此值为 null 的名称会中止转换,并在提示中被指出。请删除该名称或给它一个值。
  • 超出带符号64位整数范围的整数。JSON 允许任意大小,但 TOML 只到9223372036854775807。
  • 顶层为列表或单个值。TOML 文档始终是一张表,因此 JSON 必须是对象。

需要引号的名称

只由字母、数字、下划线和连字符组成的名称原样写出。其他名称,例如含有空格或点号的名称,要用双引号括起;空名称也一样。文本中的引号、反斜杠和控制字符按 TOML 的要求转义。

示例:一个列表、一个浮点数和一个对象

下面的表列出工具会写出的各类值各一个。每一行给出 JSON 值,以及它变成的 TOML 行。

JSON 值 TOML 行
"ports": [8000, 8001] ports = [8000, 8001]
"ratio": 1.0 ratio = 1.0
"owner": {"name": "Ada"} [owner],随后是 name = "Ada"

常见问题

为什么表的值要写在它的子表之前?

TOML 要求每个表自己的值位于其子表标题之前。工具先写值,因此文件读起来正确,也和人手写的文件一样。

为什么有的数字写成1.0,有的写成1?

JSON 中带小数点或指数的数字,例如1.0或 2e3,在 TOML 中是浮点数;不带小数点或指数的是整数。工具保留这一区别,因此浮点数不会被写成整数。

为什么 null 会中止转换?

TOML 没有 null 值,工具无法在不改变数据的前提下写出它。请删除保存 null 的名称,或给它一个值(例如空字符串),然后重新转换。

JSON 中的日期会变成 TOML 日期吗?

不会。JSON 中的日期是字符串,字符串仍是字符串,因此 TOML 中它保留引号。如果 TOML 文件需要真正的日期值,请手动去掉引号。

我粘贴的 JSON 会被发送到什么地方吗?

不会。转换在您的浏览器中进行,您粘贴的内容既不会被存储,也不会发送给我们。但请不要把密码或令牌粘贴到您不信任的页面中。

资料来源

数据和文字最近核对于2026年11月11日星期三。

我们使用必要的 Cookie 来运行网站。经您同意后,Google 还会使用广告 Cookie 展示个性化广告。如果您拒绝,仍会看到广告,但广告不会个性化。