TOML 与 JSON 互转
TOML 与 JSON 格式双向转换,支持 Cargo.toml、pyproject.toml 等常见配置文件
TOML 输入
JSON 输出
关于 TOML 与 JSON 互转
- TOML(Tom's Obvious, Minimal Language)是 Rust、Go 生态中广泛使用的配置格式,语法简洁、类型明确
- 支持 TOML 的所有数据类型:字符串、整数、浮点数、布尔值、日期时间、数组、表(Table)、内联表
- 适用于 Cargo.toml、pyproject.toml、go.mod 等配置文件与 JSON 之间的格式转换
操作说明
- 选择转换方向(TOML→JSON 或 JSON→TOML),粘贴内容后点击「转换」或按 Ctrl+Enter
- 点击「示例」按钮加载对应方向的示例数据(Cargo.toml 片段或 package.json 片段)
- 支持拖拽
.toml或.json文件到输入区
注意事项
- TOML 的日期时间类型(如
2024-01-01T00:00:00Z)转为 JSON 后以字符串表示 - JSON→TOML 转换时,嵌套对象转为 TOML 表(
[section]),数组对象转为表数组([[array]]) - 所有处理均在浏览器本地完成,不会上传任何数据
TOML 知识详解
TOML vs YAML vs JSON 对比
| 特性 | TOML | YAML | JSON |
|---|---|---|---|
| 注释 | ✅ # | ✅ # | ❌ |
| 类型明确性 | ✅ 强类型 | ⚠️ 隐式类型 | ✅ 明确 |
| 可读性 | ✅ 高 | ✅ 高 | ⚠️ 中 |
| 日期时间 | ✅ 原生支持 | ✅ 支持 | ❌ 字符串 |
| 主要用途 | Rust/Go 配置 | K8s/CI 配置 | API 数据交换 |
TOML 语法速查
# 注释
title = "TOML 示例" # 字符串
version = 1 # 整数
pi = 3.14 # 浮点数
enabled = true # 布尔值
date = 2024-01-01 # 日期
[database] # 表(对象)
host = "localhost"
port = 5432
[[servers]] # 表数组
name = "server1"
ip = "192.168.1.1"
[[servers]]
name = "server2"
ip = "192.168.1.2"