使用方法
- 把 JSON 对象粘贴到“JSON 对象”中。整段文本必须是一个对象,最外层用花括号括起。
- 阅读“检查”。绿色表示对象已转换;红色时,指出出错的名称和原因。
- 把“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日星期三。