AZ Tools

TOML ↔ JSON 转换器

转换

TOML 和 JSON 以非常不同的语法编码相同的层次配置数据。此转换器走双向:粘贴 `Cargo.toml` 或 `pyproject.toml` 获得你的 linter 或生成器期望的 JSON 形状,或喂入 JSON 配置并获得 Rust/Python 工具附带的 TOML 版本。处理实际野外出现的 TOML 部分 —— 顶级表 `[a.b]`、array-of-tables `[[a.b]]`、内联表 `{ k = v }`、内联数组、基本字符串、整数、带下划线分隔符的浮点数、布尔值、ISO 日期和日期时间。

使用方法

  1. 选择方向。`TOML → JSON` 把你的 TOML 解析成 JSON 对象;`JSON → TOML` 反向。
  2. 粘贴源。错误指向破坏解析的行/字符。
  3. 复制结果。TOML 输出先组标量,然后 `[table]` 部分,然后 `[[array.of.tables]]` 块 —— 大多数 linter 期望的顺序。

常见问题

覆盖完整 TOML 规范吗?
处理表、点键、内联表、内联数组、多行数组、基本字符串、多行基本字符串、字面字符串、带 `_` 分隔符的整数、浮点数、布尔值、RFC 3339 日期时间和 array-of-tables。较少见的功能(带偏移日期时间运算、转义序列边缘情况、非常深嵌套的混合值)能往返但可能需要手工编辑。
为什么 JSON → TOML 重新排序我的键?
TOML 要求标量在一个部分内的任何 `[table]` 块之前出现,因为一旦 `[table]` 打开,下一组键就属于它。序列化器先重新排列标量,所以输出能正确解析回来 —— 你的顶级字段含义不变。

相关工具