Neatbo.

空 TOML 表仍然保留空对象

用表布局与数值类别区分配置的外观和语义。

空表头与 inline table 的语义

原作者以为 arguments = {} 没有保留;实际复现里两个 arguments 仍以空表头存在。转换后的表顺序、空行和表示形式可以不同,但空对象结构相同。

同一个空对象的两种写法
[service]
arguments = {}

# Equivalent alternative:
[service.arguments]

数值类别属于数据模型

整数 1 与浮点 1.0 可以有不同的接收方行为。这份转换保留类别,但浮点使用 binary64,因此十进制舍入与下溢仍然发生;原始输入作为单独文件保留。

转换选择
输入处理
9007199254740991精确整数
9007199254740992整份拒绝
1.0保持浮点类别
1.2345678901234567891.2345678901234567
1e-400浮点 0.0
null / date / -0.0整份拒绝

用解析后的配置验证交付

核对空对象、数组元素顺序、引号里的带点键名和数值类别,再让目标应用读取完整结果。文本 diff 可以说明排版变化;它本身不能证明数据丢失。

  • 检查完整转换结果里的空对象与数组顺序。
  • 按接收应用的要求核对整数与浮点类别。
  • 将原始输入下载和转换报告与转换后的配置一起保留。

参考资料

  • 配置格式转换问题

    复现配置中,空的 arguments 对象仍以表头形式保留。问题在于对布局的理解;用户是否偏好浏览器工具、实际需求规模尚未核实。

  • TOML 1.1 规范

    表、表数组、字符串和带类型的数值共同定义数据模型。此转换工具明确限定了支持的有限值范围。

本分类工具使用说明

展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。

TOML 与 JSON 配置转换在 TOML 与 JSON 之间交付一份配置,保留空对象、表数组和数值类型,下载完整结果、原件与报告。

在 TOML 与 JSON 之间交付一份配置,保留空对象、表数组和数值类型,下载完整结果、原件与报告。

操作步骤

  1. 选择 TOML → JSON 或 JSON → TOML。
  2. 粘贴实际配置,或选择原始 UTF-8 文件。
  3. 转换后检查空对象、数值类别及报告中的字节和节点计数。
  4. 下载转换结果、source-original 原件和 conversion-report.json,再用接收应用验证配置。

可调选项

转换方向
TOML → JSON · JSON → TOML

能力与限制

  • 粘贴文本或选择一个 UTF-8 文件,均最多 2 MiB。已选文件优先,忽略旧粘贴内容;文件名最多 512 个 UTF-8 字节。明确选择转换方向,不根据扩展名猜测。
  • 支持 TOML 1.1 的表、表数组、空对象、嵌套或混合数组、字符串、布尔值及下述数值范围;JSON 根节点必须是对象。空 TOML 表示空对象。
  • 整数范围为 −9007199254740991 至 9007199254740991。TOML 整数与 JSON 无小数点或指数的整数原文先按 BigInt 读取,超范围整份拒绝。
  • 带小数点或指数的数值使用有限 IEEE 754 binary64,保留浮点与整数类别。十进制可能舍入或下溢:1.234567890123456789 变为 1.2345678901234567,1e-400 变为浮点 0.0;不保留原始数值写法或任意十进制精度。
  • JSON null、TOML 日期/时间、非有限数、浮点负零、JSON 原文 −0、重复键、损坏语法或 Unicode 均整份拒绝,不转成字符串、不删值、不自动修补。日期外形的字符串仍是字符串。
  • 最多 100,000 个逻辑值节点、64 层容器;根对象计第 1 层,标量不增加容器深度。序列化工作评分最多 16 MiB,这是保守的逻辑评分,并非精确内存或 CPU 用量。完整转换结果最多 8 MiB,报告最多 64 KiB,超限不返回部分文件。
  • 可接受并记录一个开头 BOM;两个开头 BOM 拒绝。原件字节及 BOM 完整保留;注释、排版、表布局、整数进制和数值写法会规范化。TOML 多行字符串的换行依其数据模型处理。
  • 处理在浏览器 Worker 中进行,10 秒超时或手动取消会终止处理。屏幕最多预览 4,000 个 Unicode 码点,复制和下载保留完整转换结果。内容不上传。
打开TOML 与 JSON 配置转换 →