跳到正文
马克工具箱

TOML 转 JSON

把 TOML 配置转换成 JSON,便于用程序处理或检查 Cargo.toml、pyproject.toml 等文件的实际结构。按 TOML 1.0 规范解析,语法有误时提示出错的行和列。

在浏览器本地运行,输入的内容和文件都不会上传

TOML → JSON
输出 (JSON)

使用步骤

  1. 在左侧粘贴 TOML,或点击「载入示例」。
  2. 选择 2 或 4 个空格缩进,JSON 会实时生成。
  3. TOML 有语法错误(如重复的键、缺少值)时,会提示出错所在的行。
  4. 复制或下载 JSON;点击「反向转换」可以把 JSON 转回 TOML。

参数说明

缩进
JSON 输出的缩进,2 或 4 个空格。
日期时间
TOML 的日期时间转成字符串。带时区的保留偏移量,本地日期(如 1979-05-27)和本地时间保持原样,不会补时区。
严格校验
按规范拒绝重复定义的键和表、非法转义、超出范围的整数等,不会悄悄覆盖。

示例

TOML:

title = "TOML Example"

[owner]
name = "Tom"
dob = 1979-05-27T07:32:00-08:00

[database]
ports = [8000, 8001]
enabled = true

JSON:

{
  "title": "TOML Example",
  "owner": {
    "name": "Tom",
    "dob": "1979-05-27T07:32:00.000-08:00"
  },
  "database": {
    "ports": [8000, 8001],
    "enabled": true
  }
}

常见问题

支持哪个版本的 TOML?

TOML 1.0.0,包括点号键、行内表、多行基本字符串和字面量字符串、十六进制/八进制/二进制整数、inf 和 nan(JSON 没有这两个值,会输出 null)。

注释会保留吗?

不会。JSON 不支持注释,转换时 TOML 里的注释会被丢弃。

大整数会丢精度吗?

TOML 整数是 64 位,超过 2^53 的整数在 JavaScript 中无法精确表示,输出可能与原值有差异。一般的配置不会遇到。

数据会上传吗?

不会。解析和转换都在浏览器中完成。

隐私说明

本工具完全在浏览器中运行,文件和文本都在你的设备上处理,不会上传到我们的服务器。

相关工具