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 格式化

  1. 选择一种模式:格式化 TOML、TOML → JSON 或 JSON → TOML。
  2. 将你的 TOML 或 JSON 粘贴到左侧的输入框中。
  3. 在右侧面板中查看格式化或转换后的输出。
  4. 如果输入无效,请查看行内错误中的行号与列号以便修正。
  5. 点击「复制」获取结果,或将其下载为 .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 会把表和表数组展开为嵌套的对象和数组。

常见错误与故障排除

常见问题

它能在 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 工具