TOML 格式化与转换器
在你的浏览器中即时格式化 TOML,并在它与 JSON 之间互相转换。你的数据留在你的设备上。
你的 TOML 或 JSON 在你的浏览器本地解析和转换,绝不会上传,但请避免将配置文件中真实的密钥或凭据粘贴到任何工具中。
也在处理 YAML 配置?试试 YAML ↔ JSON 转换器。
关于 TOML 格式化
这款 TOML 格式化工具会随你输入整理并校验 TOML 配置,并在它与 JSON 之间双向转换。粘贴一个 Cargo.toml、pyproject.toml 或任意配置文件,即可将其重新序列化为整洁、规范的 TOML,或切换模式把 TOML 转为美化的 JSON、再把 JSON 转回 TOML。它在底层使用一个符合规范的解析器,因此表、表数组、内联表、日期、整数、浮点数和布尔值都能正确往返。当某处出错时,你会得到一条带行号与列号的清晰行内错误,而不是无声的失败,这让它很适合用作快速的 TOML 校验器。它专为搭建 Rust、Python 或 Go 配置、想要无需 CLI 即可快速做 toml 转 json 检查的开发者而打造。一切都完全在你的浏览器中运行,因此你粘贴的配置在本地处理,绝不会离开你的设备。
功能特性
- 三种模式:格式化 TOML、TOML 转 JSON、JSON 转 TOML,一键切换
- 将 TOML 重新格式化为整洁、规范的输出,键 = 值间距一致
- 格式化时顺带校验 TOML,并以行号与列号标记错误
- 将 TOML 转换为美化、带语法高亮的 JSON
- 将一个 JSON 对象转回 TOML,保留表、数组和标量类型
- 处理内联表、表数组、RFC 3339 日期、整数、浮点数和布尔值
- 随你输入实时转换,并提供「加载示例」按钮查看一份样本文档
- 一键复制结果或将其下载为 data.toml 或 data.json
如何使用 TOML 格式化
- 选择一种模式:格式化 TOML、TOML → JSON 或 JSON → TOML。
- 将你的 TOML 或 JSON 粘贴到左侧的输入框中。
- 在右侧面板中查看格式化或转换后的输出。
- 如果输入无效,请查看行内错误中的行号与列号以便修正。
- 点击「复制」获取结果,或将其下载为 .toml 或 .json 文件。
示例
输入
[database]
enabled = true
ports = [ 8000, 8001, 8002 ]
[[servers]]
name = "alpha"
ip = "10.0.0.1"
输出
{
"database": {
"enabled": true,
"ports": [
8000,
8001,
8002
]
},
"servers": [
{
"name": "alpha",
"ip": "10.0.0.1"
}
]
}
TOML → JSON 会把表和表数组展开为嵌套的对象和数组。
常见错误与故障排除
- 输出显示带行号与列号的「Invalid TOML」。 — 跳到那一行:最常见的原因是未加引号的字符串值、重复的键,或数组或内联表上缺失的闭合括号。
- JSON → TOML 报告它在顶层需要一个对象。 — TOML 文档始终是一个表,因此在转换前请将裸数组或值包裹在一个对象中,例如 { "items": [ ... ] }。
- 往返后日期或时间值变成了普通字符串。 — 请使用 TOML 的原生日期格式(例如 1979-05-27T07:32:00Z);JSON 没有日期类型,因此被引为字符串的值在转回时仍是字符串。
- 格式化或转换 TOML 时注释消失了。 — 格式化会重新序列化解析后的数据模型,而该模型不保留注释;如果你需要那些行内注释,请保留一份原始副本。
常见问题
- 它能在 TOML 和 JSON 之间互相转换吗?
- 可以。使用 TOML → JSON 模式把一个 TOML 文档转为美化的 JSON,用 JSON → TOML 把一个 JSON 对象转为 TOML。表、表数组和标量类型在两个方向上都能往返。
- 格式化工具会校验我的 TOML 吗?
- 会,作为副作用。格式化会先用一个符合规范的解析器解析文档,因此任何语法问题都会以带行号与列号的行内错误形式出现,使它成为一个快速的 TOML 校验器。
- 支持哪个 TOML 版本?
- 解析器面向 TOML 1.0.0,因此它能理解内联表、表数组、点分键、多行字符串、RFC 3339 的日期与时间、整数、浮点数和布尔值。
- 为什么 JSON → TOML 会拒绝顶层的数组?
- 一个 TOML 文档被定义为一个表(一组键/值对),因此根必须是一个 JSON 对象。请在把顶层数组或基本类型转换为 TOML 之前,将其包裹在一个对象中。
- 格式化 TOML 时注释和键顺序会被保留吗?
- 不会。格式化会重新序列化解析后的数据,因此行内注释会被丢弃,键会以规范顺序输出,表排在标量之后。如果注释重要,请保留你的原始文件。
- 我使用这个工具时 TOML 会被上传到任何地方吗?
- 不会。所有解析、格式化和转换都完全在你的浏览器中运行,因此你的配置在你的设备上本地处理,绝不会发送到服务器。
相关工具
全部 ArrayKit 工具