互转
本地运行 · 零上传

TOML ⇄ JSON 转换

Rust/Python 配置 · 双向互转

TOML 转换

就绪

原始输入

                                
                            
解析输出

                                
固定高度,长代码在框内滚动

ABOUT

关于 TOML ⇄ JSON 转换

在 TOML 与 JSON 格式之间转换,方便编辑 Rust、Python 项目配置文件。

Rust Cargo、Python Poetry、Hugo 配置——TOML 在静态类型与脚本语言生态中越来越常见。本地互转让你无需安装 cargo、python -c 即可审查 pyproject.toml 结构。

DEEP DIVE

深入了解 TOML ⇄ JSON 转换

TOML(Tom's Obvious Minimal Language)因 Rust Cargo、Python Poetry/pyproject.toml、 Hugo 配置等生态而流行。与 JSON 相比,TOML 更易读写,但 JavaScript 原生不支持。JSONSort 提供 TOML ↔ JSON 本地双向转换,无需安装 Python tomllib 或 Rust toml crate。

转换保留表([section])与键值结构:TOML table 对应 JSON 对象,数组 of table 对应 JSON 对象数组,适合快速查看 Rust/Python 项目配置结构。

TOML table 与 dotted key 在 JSON 中均映射为嵌套对象;[[array of tables]] 对应 JSON 对象数组。转换后建议用树视图确认 [dependencies] 等 section 是否正确展开,避免 dotted key 与 table 冲突导致覆盖。

FEATURES

核心能力

01

TOML → JSON

解析 TOML 配置文件为 JSON 对象。

02

JSON → TOML

从 JSON 生成格式正确的 TOML 文本。

03

Table 支持

正确处理 [section] 与 [[array of tables]]。

04

类型保留

字符串、整数、浮点、布尔、日期时间正确映射。

05

文件导入

拖拽 .toml 文件导入解析。

06

本地转换

Cargo.toml 等可能含私有 crate 源配置,本地更安全。

07

日期时间

TOML offset datetime 转为 ISO 8601 JSON 字符串。

08

整数/浮点

区分 TOML 整数与浮点,JSON 中类型正确保留。

HOW TO USE

使用步骤

  1. 1

    粘贴 TOML 或 JSON

  2. 2

    选择转换方向

  3. 3

    复制并导出结果

  4. 4

    转换失败时查看错误提示,修正源文件语法后重试

  5. 5

    结果可用格式化工具美化,或导出供下游脚本使用

WORKFLOW

典型工作流

从导入数据到导出结果的完整流程,帮助团队统一 TOML ⇄ JSON 转换 的使用方式。

1

导入 TOML

粘贴 Cargo.toml / pyproject.toml 或拖拽文件。

2

检查 JSON

树视图确认 table 与 array of tables 结构。

3

编辑(可选)

在 JSON 侧修改后转回 TOML 提交 PR。

4

流水线集成

复制 JSON 给不支持 TOML 的内部工具。

USE CASES

适用场景

RU

Rust 开发

Cargo.toml 转 JSON 后用树视图浏览依赖结构。

PY

Python 开发

pyproject.toml 转 JSON 便于 CI 脚本读取。

DE

DevOps

统一 TOML 配置与 JSON 配置管理工具链。

技术

技术写作

文档中 TOML 示例旁提供 JSON 等价形式。

RU

Rust 生态

Cargo.toml workspace 成员与 features 转 JSON 做 CI 矩阵。

静态

静态站点

Hugo config.toml 转 JSON 接入 headless CMS 配置同步。

TIPS

使用技巧

  • Cargo.toml 转换后检查 [dependencies] 下的 crate 版本键。
  • TOML 日期时间类型在 JSON 中通常转为 ISO 8601 字符串。
  • JSON → TOML 时,深层嵌套对象会转为 dotted keys 或 subtable。
  • 与 YAML 工具对比:Rust 生态用 TOML,K8s 生态用 YAML,按项目选工具。
  • 转换失败时检查 TOML 是否有重复键或未闭合字符串。
  • 转换结果可用格式化工具美化,便于 Git diff 审查。
  • Cargo workspace.dependencies 转 JSON 后用路径提取查版本。
  • JSON → TOML 后 dotted key 与 [table] 不要混用同一层级。
  • 多行字符串 """ """ 在 JSON 中变为 换行符。
  • 与 YAML 工具对比:按项目生态选源格式,JSON 作中间桥梁。

LOCAL VS ONLINE

本地 vs 在线工具

JSONSort 坚持纯前端架构,以下对比说明为何本地化工具更适合处理开发数据。

对比项
JSONSort 本地
传统在线工具
数据隐私
完全本地,零上传
多数需上传至服务器
响应速度
毫秒级,无网络延迟
受网络与服务器负载影响
离线使用
支持 PWA 离线
通常需要联网
敏感数据
JWT/配置/日志可放心处理
存在泄露风险
广告与追踪
无广告、无数据追踪
多数含广告或 Analytics
文件拖拽
支持本地文件直接导入
部分工具限制上传大小
工具联动
19 种工具同一页面切换
通常每种工具独立网站
开源透明
纯静态页,可审查源码
闭源服务端不可审计

TROUBLESHOOTING

常见误区与排查

实际使用中容易遇到的问题及建议处理方式,减少反复试错的时间。

重复键报错

建议:TOML 不允许重复定义;检查 dotted key 与 table 冲突。

转回 TOML 顺序变化

建议:功能等价;若依赖顺序请人工调整。

日期格式不对

建议:确认 TOML datetime 带时区;JSON 侧为 ISO 字符串。

特殊字符键

建议:含点号的键用引号包裹 "key.with.dots"。

FAQ

常见问题

支持 Cargo.toml 吗?

支持标准 TOML 1.0 语法。Cargo 特定语义(如 workspace)按结构转换。

JSON 转 TOML 会丢信息吗?

JSON 可表示的结构均可转 TOML。TOML 注释在 JSON 方向会丢失。

与 YAML 工具有什么区别?

TOML 与 YAML 语法不同,请根据源文件格式选择对应工具。

支持 inline table 吗?

支持 { key = "value" } 形式,转为 JSON 嵌套对象。

丢失注释怎么办?

TOML 注释无法进入 JSON,请保留 .toml 源文件作为注释来源。

数据会上传到服务器吗?

不会。JSONSort 所有工具均在浏览器本地运行,您的输入内容不会发送到任何后端服务器。

需要注册或安装吗?

不需要。打开页面即可使用,无需账号、无需下载客户端,也支持 PWA 离线缓存。

支持多大的文件?

取决于浏览器内存,通常可流畅处理数 MB 级别的数据。超大文件建议先拆分或使用合并清理工具。

已复制到剪贴板