从 TOML 与 JSON 交付配置
选择方向与有效源,核对空对象、数值类别及三份下载。
确定方向和实际源
选择 TOML → JSON 或 JSON → TOML。
粘贴文本或选择一个 UTF-8 文件,均最多 2 MiB。已选文件优先,忽略旧粘贴内容;文件名最多 512 个 UTF-8 字节。明确选择转换方向,不根据扩展名猜测。
- 粘贴实际配置,或选择原始 UTF-8 文件。
- 转换后检查空对象、数值类别及报告中的字节和节点计数。
- 下载转换结果、source-original 原件和 conversion-report.json,再用接收应用验证配置。
阅读三份交付
转换结果用于交付,原件用于核对;报告记录来源、SHA-256、字节数、BOM、整数/浮点计数和资源评分。配置值不会上传。
| 文件 | 用途 |
|---|---|
| converted.json / converted.toml | 完整转换结果 |
| source-original.json / source-original.toml | 有效输入的原始字节,含 BOM |
| conversion-report.json | 值模型、来源及预算报告 |
先核对值模型,再交给应用
整数范围为 −9007199254740991 至 9007199254740991。TOML 整数与 JSON 无小数点或指数的整数原文先按 BigInt 读取,超范围整份拒绝。
带小数点或指数的数值使用有限 IEEE 754 binary64,保留浮点与整数类别。十进制可能舍入或下溢:1.234567890123456789 变为 1.2345678901234567,1e-400 变为浮点 0.0;不保留原始数值写法或任意十进制精度。
JSON null、TOML 日期/时间、非有限数、浮点负零、JSON 原文 −0、重复键、损坏语法或 Unicode 均整份拒绝,不转成字符串、不删值、不自动修补。日期外形的字符串仍是字符串。
{"integer":1,"float":1.0,"arguments":{}}理解嵌套和序列化预算
节点数对根、对象、数组和每个标量值各计一次,不计键字符串或解析器记录。根对象层级为 1;每个嵌套对象或数组增加 1 层,标量不增加。
序列化工作评分为:每个逻辑值节点 32 字节,加每个字符串值和对象键经 JSON 引号转义后的 UTF-8 字节数(DEL 写为 \u007f),再加每个非根对象的完整已加引号键路径字节数,路径各部分以点连接。数组元素继承键路径,不计数组下标。原文很短的深层键也可能放大此评分;评分不是精确 CPU、堆内存或分配字节数。
报告只含固定字段、受限计数、两个 64 字符 SHA-256 和一个最多 512 UTF-8 字节的源名称。最坏 JSON 转义也小于 16 KiB,因此 64 KiB 报告限制是被实际字段上界覆盖的保护值;不是可达到的容量边界。
处理拒绝、取消和重试
保留原件。按错误原因修正重复键、不可表示值、编码或语法;超出预算时拆分配置。取消后可以保留同一文件和方向重新运行;清除文件选择后才使用粘贴文本。
整份拒绝不会产生部分交付,也不承诺列出所有不支持值。确认接收应用支持生成的 TOML 语法和 binary64 数值语义。
参考资料
- 配置格式转换问题
复现配置中,空的 arguments 对象仍以表头形式保留。问题在于对布局的理解;用户是否偏好浏览器工具、实际需求规模尚未核实。
- TOML 1.1 规范
表、表数组、字符串和带类型的数值共同定义数据模型。此转换工具明确限定了支持的有限值范围。
本分类工具使用说明
展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。
TOML 与 JSON 配置转换在 TOML 与 JSON 之间交付一份配置,保留空对象、表数组和数值类型,下载完整结果、原件与报告。
在 TOML 与 JSON 之间交付一份配置,保留空对象、表数组和数值类型,下载完整结果、原件与报告。
操作步骤
- 选择 TOML → JSON 或 JSON → TOML。
- 粘贴实际配置,或选择原始 UTF-8 文件。
- 转换后检查空对象、数值类别及报告中的字节和节点计数。
- 下载转换结果、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 码点,复制和下载保留完整转换结果。内容不上传。