语言
English English Vietnamese (Tiếng Việt) Vietnamese (Tiếng Việt) Chinese (简体中文) Chinese (简体中文) Portuguese (Brazil) (Português do Brasil) Portuguese (Brazil) (Português do Brasil) Spanish (Español) Spanish (Español) Indonesian (Bahasa Indonesia) Indonesian (Bahasa Indonesia)
JSON 转 TOML 转换器

JSON 转 TOML 转换器

即时将 JSON 数据转换为 TOML 格式。支持空值处理、内联表、表数组和自动日期时间检测。

什么是 JSON 转 TOML 转换器?

JSON 转 TOML 转换器将 JSON(JavaScript 对象表示法)数据转换为 TOML(Tom 的显而易见的最小语言)格式。它处理对象、数组、嵌套结构,并自动检测日期时间值以生成干净有效的 TOML 输出。

何时需要使用此工具?

项目配置

将 JSON 配置文件转换为 TOML,用于 Cargo(Rust)、Hugo 或 Python 的 pyproject.toml 等工具

DevOps 工作流

将 JSON 设置转换为 TOML 格式用于部署配置

数据迁移

在使用不同配置格式的系统之间移动数据

学习 TOML

了解熟悉的 JSON 结构如何转换为 TOML 语法

您的数据保持私密

100% 客户端处理:所有转换都直接在您的浏览器中进行。您的数据永远不会离开您的设备,我们不收集或存储任何输入数据。
  • 无上传 — 您的数据永远不会离开您的设备
  • 无追踪 — 我们不收集或存储任何输入数据
  • 无服务器处理 — 一切都在您的浏览器中本地运行

如何使用

1

输入您的 JSON

将您的 JSON 数据粘贴或输入到左侧面板。您也可以点击上传图标从您的设备加载 JSON 文件。

2

自动转换

当您输入时,TOML 输出会自动出现在右侧面板中,具有实时验证和格式化。

3

调整选项

配置转换设置,如空值处理和内联表格式化,以满足您的需求。

4

导出结果

将 TOML 输出复制到您的剪贴板或下载为 .toml 文件以在您的项目中立即使用。

转换选项

空值处理

选择如何处理 JSON 中的空值:

  • 跳过 — 从输出中完全省略空键
  • 空字符串 ("") — 将空值转换为空字符串

内联表

小对象的紧凑格式:

  • 具有 ≤3 个基本键的对象显示为 { key = "value" }
  • 生成更可读、更紧凑的输出

文件上传

点击工具栏中的上传图标从您的设备加载 JSON 文件。文件内容将自动加载到编辑器中并立即转换为 TOML 格式。

主要功能

实时转换

当您输入时,JSON 会转换为 TOML,具有智能防抖以优化性能。对转换选项的更改会触发即时重新转换,为您提供关于输出的即时反馈。

智能结构映射

转换器精确地将 JSON 结构智能映射到其 TOML 等效项:

JSON 结构 TOML 输出 示例
对象 [table] 标头的 TOML 表 [database]
嵌套对象 点号路径表示法 [server.config]
对象数组 表数组语法 [[products]]
基本类型数组 内联数组 ["a", "b", "c"]
基本类型 直接值映射 port = 8080

空值处理

TOML 限制:TOML 本身不支持空值。此转换器提供两种策略来有效处理此限制。
跳过策略

省略空键

  • 空键不会出现在输出中
  • 警告消息显示省略的键
  • 可选字段的更干净输出
转换策略

空字符串转换

  • 空值变为 ""
  • 在输出中保留所有键
  • 保持结构一致性

内联表

具有最多 3 个基本值的小对象可以显示为 TOML 内联表而不是单独的表部分,生成更紧凑和可读的输出。

内联表示例
# Without inline tables
[point]
x = 1
y = 2
z = 3

# With inline tables enabled
point = { x = 1, y = 2, z = 3 }

日期时间检测

匹配 RFC 3339 日期、时间或日期时间模式的字符串会自动识别,并作为裸 TOML 日期时间值输出,不带引号,确保正确的类型处理。

  • 日期格式: 2024-01-15
  • 日期时间格式: 2024-01-15T10:30:00Z
  • 时间格式: 10:30:00

智能键引用

包含空格、点或特殊字符的 JSON 键在 TOML 输出中会自动引用以确保有效性。简单的字母数字键使用裸格式以获得最大可读性。

键引用示例
# Simple keys (no quotes needed)
name = "John"
age = 30

# Special keys (automatically quoted)
"user.name" = "John"
"first name" = "John"
"api-key" = "secret"

状态栏

底部状态栏提供关于您的转换的实时反馈:

  • 验证状态 — 显示有效、无效或就绪状态
  • 键计数 — 输出中的总键数
  • 文件大小 — 输出大小(字节),用于下载规划

常见问题

为什么我不能将 JSON 数组转换为根?

TOML 要求根是表(键值对)。JSON 数组在根级别没有 TOML 规范中的等效项。

解决方案:首先将您的数组包装在对象中。例如:

包装数组示例
// Instead of: [1, 2, 3]
// Use:
{
  "items": [1, 2, 3]
}

空值如何处理?

TOML 没有空值类型。您可以在两种策略之间选择:

  • 跳过 — 空键不会出现在输出中。警告消息显示哪些键被省略。
  • 转换为空字符串 — 空值变为 "",在输出中保留所有键。

在转换选项中选择最适合您用例的策略。

什么是内联表?

内联表是小对象的紧凑 TOML 语法,显示在单行上:

内联表格式
point = { x = 1, y = 2 }

启用内联表选项以对具有最多 3 个基本值的对象使用此格式。这为简单结构生成更紧凑和可读的输出。

对象数组如何转换?

每个元素都是对象的数组使用 [[name]] 语法变为 TOML 表数组:

表数组示例
[[products]]
name = "Hammer"
price = 9.99

[[products]]
name = "Nail"
price = 0.05

注意:混合数组(包含对象和基本类型)被视为内联数组。

日期时间字符串是否自动检测?

是的。匹配 RFC 3339 模式的字符串会自动识别,并作为裸 TOML 日期时间输出,不带引号:

  • 2024-01-15 — 日期格式
  • 2024-01-15T10:30:00Z — 带时区的日期时间
  • 10:30:00 — 时间格式

这确保正确的类型处理和与 TOML 解析器的兼容性。

是否有大小限制?

由于所有处理都在您的浏览器中进行,实际限制取决于您设备的可用内存和处理能力。

性能说明:转换器可以有效处理大型 JSON 文件,但极大的数据集(几 MB)可能会在较旧的设备上导致性能变慢。

为获得最佳性能,我们建议文件大小在 5MB 以下。更大的文件仍然可以工作,但处理可能需要更长时间。

Null:
JSON
TOML
错误
警告

                

在左侧粘贴 JSON 以转换为 TOML

|
左侧面板粘贴或输入 JSON,在右侧查看 TOML 输出
使用空值:跳过以省略空值,或使用""将其转换为空字符串
启用内联表以将小对象显示为 { key = "value" }
点击立方体图标加载示例配置风格数据
TOML 根必须是对象 — 数组和基本类型不是有效的 TOML 根值
所有转换都在您的浏览器中进行 — 数据不会发送到任何服务器
想了解更多? 阅读文档 →
1/7
开始输入以搜索...
搜索中...
未找到结果
请尝试使用不同的关键词搜索