TOML 格式化
TOML 校验、美化与 JSON 双向转换;Cargo / pyproject 等 Rust、Python 配置文件好帮手。
>_ 使用指南 · GUIDE
粘贴 TOML,校验语法、美化排版,并与 JSON 双向转换。TOML 是 Rust(Cargo.toml)、Python(pyproject.toml)、Go 工具链的标配配置格式,改依赖声明、调构建配置后先在这里验证一遍,语法错误当场定位,不用等构建报错再回头找。
本地解析,零上传;转换保持中文原样。校验通过再进项目,把配置错误挡在构建之前。
>_ 常见问题 · FAQ
Q1 · TOML 和 YAML、JSON 有什么区别?为什么 Rust/Python 选它?
TOML 的定位是「人写的配置」:语法明确无歧义(不像 YAML 的缩进玄学)、比 JSON 友好(支持注释、多行字符串、日期类型)、可读性强。JSON 由机器交换数据,YAML 表达力强但规则多坑也多,TOML 在「简单、明确、够用」上取得平衡——这正是配置文件最需要的特质。
Q2 · Cargo.toml / pyproject.toml 常见语法错误有哪些?
高频错误:① 字符串没用引号包裹(含点号或空格的版本号、路径);② 表头 [dependencies] 拼写或重复;③ 键值等号两边格式问题;④ 行内表与多行表混写导致归属混乱。本工具校验会定位出错行;转 JSON 成功即说明结构被正确解析。
Q3 · TOML 里的表([section])是什么概念?
[dependencies] 定义一个表,其下的键值都归属它;[tool.poetry.dependencies] 用点号表示嵌套;[[items]] 双括号是表数组(列表中的多个表)。理解「当前处于哪个表下」是读 TOML 的关键——同一键名在不同表下互不冲突。
Q4 · TOML 支持注释和日期吗?
支持,这正是它比 JSON 适合做配置的原因:# 开头为注释;原生日期时间类型(2026-09-07 直接是日期而非字符串);多行字符串(三引号)适合放描述文本。JSON 这些都没有——所以 JSON 适合传输、TOML 适合人写。
Q5 · 转 JSON 后结构对不上预期?
注意 TOML 的嵌套规则:[a.b] 生成 JSON 的 { "a": { "b": ... } };表数组生成数组。转换结果与预期不符时,多半是对表归属理解有偏差——把 JSON 结果的层级和 TOML 的表头逐一对照,是理解 TOML 结构最直观的方式。