跳到主内容
UniKit

TOML 转 JSON

把 TOML 转成 JSON:日期类型转 ISO 字符串,支持缩进选择、键排序,非法 TOML 会指出具体行列与出错位置,并给出键数与深度统计。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

TOML
JSON
顶层键: 0键总数(含嵌套): 0最大深度: 0JSON 字节数: 0
  • 没有解析到任何键,结果是一个空对象。

这个工具能做什么

  • 把 Cargo.toml、pyproject.toml、Netlify / Hugo 配置这类 TOML 转成 JSON,喂给只认 JSON 的程序或接口。
  • 对照检查表与数组表的结构:转换结果原样保留嵌套,[server] 会变成嵌套对象,[[users]] 会变成对象数组。
  • 定位 TOML 语法错误:解析失败时会指出具体行号、列号和出错的那段代码,不用靠肉眼数括号。
  • 确认类型有没有被正确识别:日期时间会变成 ISO 字符串,inf 和 nan 这类 JSON 没有的值会转成字符串并单独警告。

示例

输入

title = "UniKit"
version = "0.1.0"
release_date = 2026-10-10

[owner]
name = "Tom"
roles = ["admin", "dev"]

输出

{
  "title": "UniKit",
  "version": "0.1.0",
  "release_date": "2026-10-10",
  "owner": {
    "name": "Tom",
    "roles": [
      "admin",
      "dev"
    ]
  }
}

默认 2 空格缩进;TOML 的日期类型会转成 ISO 字符串,所以 release_date 在 JSON 里是带引号的 "2026-10-10"。

常见问题

TOML 里的日期为什么变成了字符串?

JSON 标准里没有日期类型。解析器把 TOML 的日期时间统一转成 ISO 8601 字符串(毫秒全是 0 时省略 .000),接收方可以直接用 new Date() 解析。如果你需要的是毫秒时间戳,再自己转换一次。

输入是空的会怎样?

返回一个空对象 {},并提示「没有解析到任何键」,不会当成错误。只有真正的语法问题才会报错并给出行列号。

解析失败时能定位到哪一行吗?

能。错误里带行号、列号,以及一段带插入符的代码片段,页面上直接显示「第 X 行第 Y 列」,照着改即可。

TOML 里的 inf 和 nan 怎么处理?

JSON 不允许这两个值。工具会把它们转成字符串 "inf"、"-inf"、"nan",并在结果里列出受影响的键路径,避免静默丢数据。

我的配置文件会被上传吗?

不会。解析用的是打包进页面的解析器,整个过程在你的浏览器里完成,不发送任何网络请求,断网也能用。

关键词:tomljsontoml 转 jsonconverter配置转换smol-tomlcargo.tomlpyproject.toml

同类工具