功能开发中

JSON转TOML

将JSON转换为TOML格式。

转换结果 (TOML)

关于 JSON 和 TOML

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。

TOML (Tom's Obvious, Minimal Language) 是一种旨在成为易于阅读的最小化配置文件格式。

主要区别:

  • JSON 使用花括号和方括号表示结构,TOML 使用表头 [table]
  • TOML 更适合人类编写配置文件
  • JSON 更适合程序解析和数据交换
  • TOML 支持注释,JSON 不支持
使用教程
  1. 在输入框粘贴JSON数据(建议先使用JSON格式化工具确保格式正确)
  2. 点击"转换为TOML"按钮执行转换
  3. 查看输出区域的TOML格式结果
  4. 检查转换是否符合预期:
  5. 可选:调整"表风格"选项(嵌套表 vs 点分路径表 vs 混合)
  6. 复制TOML结果或直接下载为 .toml 文件
  7. 在Rust Cargo/Python pip等环境中使用生成的TOML配置
使用场景
  • Python项目迁移:将setup.py/setup.cfg/json格式的配置转为PEP 518标准的pyproject.toml。
  • Rust项目初始化:从JSON schema生成Cargo.toml的初始配置骨架。
  • 基础设施即代码:将Terraform的JSON state文件转为TOML格式的声明式配置。
  • 配置格式标准化:团队决定统一采用TOML作为配置格式时批量转换存量JSON配置。
  • Hugo静态站点:Hugo的config.toml配置从JSON/YAML迁移时的格式转换。
  • 编辑器/IDE插件:VS Code/WebStorm等编辑器设置从json转为toml格式。
常见问题
Q: TOML和JSON的主要区别?
A: TOML支持注释(#开头)而JSON不支持;TOML无null类型;TOML的table必须显式声明[section]而JSON靠花括号{};TOML更注重人工可读性。
Q: 转换后的TOML能无损转回JSON吗?
A: 基本类型可以100%往返。但TOML的注释和表声明顺序等元信息在转回JSON时会丢失。
Q: 大数字精度会丢失吗?
A: TOML使用IEEE 754浮点数,与JavaScript Number一致。超大整数建议用TOML字符串存储保持精度。
Q: 哪些项目在使用TOML?
A: Rust(Cargo), Python(pyproject.toml/pip), Ruby(bundler), Go(dep), Flutter(pubspec.yaml的近亲), Neovim, Gitea等。
工具名称 JSON转TOML
所属分类 转换器
更新时间 2026-06-23
使用次数 36
工具简介 将JSON转换为TOML格式。
功能特性
完整类型映射:JSON Object→TOML Table, JSON Array→TOML Array, String/Number/Bool/Null一一对应。
嵌套表生成:自动将JSON嵌套对象转换为TOML的点分路径表([parent.child])或嵌套表([parent]\n [parent.child])。
内联表优化:简单的扁平对象自动使用内联表(inline table = {key = "value"})节省行数。
字符串智能处理:根据内容自动选择基本字符串("...")或字面量字符串('...')。
日期时间识别:检测ISO 8601格式的字符串自动转为TOML的datetime字面量。
多文档模式:顶层数组可拆分为多个[[array-of-tables]]。
暂无收藏工具
收藏工具