TOML 与 JSON 配置转换
在 TOML 与 JSON 之间交付一份配置,保留空对象、表数组和数值类型,下载完整结果、原件与报告。
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
在 TOML 与 JSON 之间交付一份配置,保留空对象、表数组和数值类型,下载完整结果、原件与报告。
如何使用
- 选择 TOML → JSON 或 JSON → TOML。
- 粘贴实际配置,或选择原始 UTF-8 文件。
- 转换后检查空对象、数值类别及报告中的字节和节点计数。
- 下载转换结果、source-original 原件和 conversion-report.json,再用接收应用验证配置。
支持范围与限制
粘贴文本或选择一个 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 码点,复制和下载保留完整转换结果。内容不上传。
操作示例
示例输入
title = "Demo"
ratio = 1.0
[service]
arguments = {}
[[rules]]
enabled = true
示例参数
{"direction":"toml-to-json"}示例输出
{"title":"Demo","ratio":1.0,"service":{"arguments":{}},"rules":[{"enabled":true}]}
出现问题时
保留原件。按错误原因修正重复键、不可表示值、编码或语法;超出预算时拆分配置。取消后可以保留同一文件和方向重新运行;清除文件选择后才使用粘贴文本。
常见问题
空 arguments 对象会丢失吗?
不会。arguments = {} 与对应的空表头可以表达同一个空对象。表的位置和写法可能变化,应按解析后的结构核对。
这是否保留全部数值原文?
整数在安全范围内保持精确;浮点使用 binary64,可能舍入。1 与 1.0 的类别保持不同,原始进制、指数和小数写法会变化;原件下载保留输入字节。