zh

JSON 转 TOML

在本地将 JSON 文件转换为 TOML,得到带表的可读配置,无需上传,就在你的浏览器里完成。

正在你的设备上本地处理 ...

0%

你的文件从未离开你的设备

    我的文件会被上传吗?

    不会。一切都在你的浏览器中运行,你的文件永不离开你的设备。这一点如何验证

    无需上传100% 本地处理
    内容只属于你第三方无法访问
    服务器位于德国原生符合 GDPR
    经独立审计TLS A+ · 标头 A+

    JSON 是 API 和程序之间的数据交换格式,但作为人工编辑的配置文件,TOML 更舒服:用方括号划分小节、用简洁的 key=value 行书写,还支持注释;本工具会把你的 JSON 对象序列化成格式规范的 TOML,就像 Cargo.toml 和 pyproject.toml 所用的那样。

    整个过程完全在本地运行(基于纯 JavaScript 的 smol-toml);对象变成表,嵌套对象变成子表(例如 [server.meta]),数组变成 TOML 数组,标量变成标量;由于 TOML 顶层必须是一个表,如果根部是数组、标量或 null,会被拒绝并给出明确提示。

    你会在这些场景遇到它:从模板生成 Cargo 或 pyproject 配置、把 JSON 设置转成可手动编辑的 .toml,或从 API 输出生成可读的配置;老实说,TOML 没有 null 类型,所以含有 null 值的对象会被拒绝并给出明确提示,而不是被悄悄丢掉;任何内容都不会被上传。

    技术规格

    技术规格
    输入格式JSON
    输出格式TOML
    批量处理不支持
    处理方式在浏览器中本地处理 (JavaScript)
    文件上传

    三步完成

    1. 拖入或选择你的 JSON 文件。
    2. 工具会将它序列化为 TOML。
    3. 下载这个 TOML 文件。

    限制: 需要一个顶层 JSON 对象(根部为数组、标量或 null 会被拒绝);嵌套对象转为子表,数组转为 TOML 数组;TOML 没有 null 类型,因此含 null 值的对象会被拒绝;键的顺序沿用 JSON 中的顺序。

    常见问题

    我的文件会被上传吗?

    不会,全部在本地完成。你的 JSON 不会离开浏览器。

    为什么根部必须是对象?

    因为 TOML 文档在顶层就是一个表,所以转换需要一个顶层 JSON 对象作为起点。

    嵌套对象是如何映射的?

    映射为 TOML 的表和子表,例如 [server] 和 [server.meta]。

    null 值怎么办?

    TOML 没有 null 类型,因此含有 null 值的对象会被拒绝,并给出明确提示,而不是被悄悄丢弃。

    能反向转换吗?

    可以,用我们的“TOML 转 JSON”工具即可。

    相关工具