tigtools

TOML 转 JSON 转换器

粘贴 TOML 文件(如 Cargo.toml、pyproject.toml 或配置文件),即可获得格式化的 JSON。不会上传任何内容。

在浏览器中运行 无需注册

缩进

改为将 JSON 转换为 TOML

使用方法

  1. 将 TOML 粘贴到输入框中,或尝试示例。
  2. 选择 2 或 4 个空格的缩进。
  3. 复制 JSON 或将其下载为 .json 文件。

工作原理

TOML 使用开源 smol-toml 库进行解析,该库实现了 TOML 1.0,并会拒绝无效文档,例如重复键、重复定义的表或缺少值。第一个错误会显示其行号和列号;错误信息文本来自该库,为英文。

表转换为 JSON 对象,表数组转换为对象数组。日期和时间没有对应的 JSON 类型,因此会按原写法转换为 ISO 8601 字符串:带偏移的日期时间保留其偏移量,本地日期保持为 yyyy-mm-dd,本地时间保持为 hh:mm:ss。超过 JavaScript 精确表示范围的整数会写成精确的 JSON 数字。inf 和 nan 无法写入 JSON,会转为 null,并附有说明。

TOML 区分整数和浮点数的方式无法在 JSON 中保留:1.0 会写成 1。注释会被丢弃。反向转换请使用 JSON 转 TOML。

示例

pyproject.toml

包含 name、version 和 dependencies 的 [project] 表会转换为一个 JSON 对象,你可以用 jq 查询或在脚本中加载。

查找语法错误

如果一个键被定义了两次,错误会指出第二次定义的行号和列号。

常见问题

支持哪个 TOML 版本?

支持 TOML 1.0,包括混合类型数组、点分隔键以及所有日期和时间类型。

日期会怎样处理?

它们会转换为 ISO 8601 格式的字符串,例如 1979-05-27T07:32:00.000-08:00,本地日期则为 1979-05-27。

为什么错误信息是英文的?

语法错误信息来自 TOML 解析库。行号和列号会告诉你从哪里查找。

隐私

转换完全在您的浏览器中运行。您的 TOML 和 JSON 不会被上传或存储。