不喜欢广告? 无广告 今天

TOML 格式化器和验证器

数据开发人员
广告 · 消除?

或者
广告 · 消除?

指导

TOML 格式化器和验证器

TOML 格式化器和验证器

TOML(Tom's Obvious Minimal Language)已成为 Rust 项目(Cargo.toml)、Python 打包(pyproject.toml)以及许多其他工具的首选配置文件格式。它被设计为人类可读,但手动编辑的配置文件不可避免地会发生偏差——不一致的间距、混乱的键顺序以及仅在构建时才会暴露的细微语法错误。

此工具会在客户端解析您的 TOML,根据规范进行验证,并以干净、一致的格式重新输出。它还可以将 TOML 转换为 JSON,以便快速进行互操作性检查。没有任何内容会离开您的浏览器。

如何使用

将您的 TOML 内容粘贴到输入区域,或尝试其中一个内置示例(Cargo.toml、pyproject.toml)。选择您的缩进偏好,如果需要,可以切换字母顺序排序,即会立即显示格式化后的输出。使用 JSON 选项卡将解析后的结构显示为 JSON。一键复制或下载结果。

广告 · 消除?

特征

  • 语法验证 – 在错误破坏您的构建之前,捕获带有行号和描述性消息的错误
  • Consistent Formatting – 规范化缩进、等号周围的间距以及表之间的空行
  • 键排序 – 可选地按字母顺序对每个表中的键进行排序,以获得可预测的顺序
  • 可配置缩进 – 选择 2 或 4 个空格以匹配您的项目约定
  • TOML 到 JSON 转换 – 将您的配置显示为 JSON,以便快速调试或 API 集成
  • 内置示例 – 加载示例 Cargo.toml 或 pyproject.toml 配置以即时测试格式设置
  • 客户端处理 – 您的配置文件保留在您的浏览器中——没有任何内容会被发送到服务器

何时使用此工具

在提交配置更改、合并来自多个贡献者的配置或在 TOML 版本之间迁移时,请先通过格式化器运行您的 TOML。当您需要将基于 TOML 的配置馈送到仅限 JSON 的工具或 API 时,JSON 转换尤其有用。

常问问题

  1. 什么是 TOML,它与 YAML 和 JSON 有何不同?

    TOML (Tom's Obvious Minimal Language) 是一种易于读写的设计的配置文件格式。与 YAML 不同,TOML 避免了会导致细微错误的显著的空白和复杂的嵌套。与 JSON 不同,TOML 支持注释,具有本机日期/时间类型,并且对于配置文件来说更具人性化。TOML 以牺牲 YAML 的一些灵活性为代价来换取可预测性——通常只有一种方法可以用 TOML 来表达某事。

  2. 什么是 TOML 表,内联表有何不同?

    TOML 表是在 [package] 或 [dependencies] 等标题下的一组键值对。可以使用点分标题(如 [server.database])来嵌套表。内联表是使用花括号的紧凑单行语法:key = { name = 'value', version = '1.0' }。常规表更适合具有许多键的可读性,而内联表适用于小型、紧密相关的值的组。

  3. 为什么 Rust 项目使用 Cargo.toml 而不是 JSON 或 YAML?

    Rust 选择 TOML 作为 Cargo 的格式,因为它在人类可读性和机器可解析性之间取得了平衡。TOML 的显式类型(字符串、整数、布尔值、日期)减少了 YAML 中普遍存在的歧义(其中“no”可能被解释为布尔值)。其注释支持对于记录依赖项选择至关重要。该格式的简单性还意味着更少的解析边缘情况,以及在不同工具和编辑器之间更可预测的行为。

  4. 什么是 TOML 中的表数组?

    表数组使用双括号 [[table_name]] 来定义同一表类型的多个实例。例如,Cargo.toml 中的 [[bin]] 定义了多个二进制目标。每个 [[bin]] 块都会向数组添加一个新元素。这是 TOML 表示对象数组的方式,避免了 JSON 数组的视觉混乱或 YAML 的基于破折号的列表。

  5. pyproject.toml 在 Python 打包中如何工作?

    pyproject.toml 是 Python 标准化的项目配置文件(在 PEP 518 和 PEP 621 中定义)。它取代了旧的 setup.py 和 setup.cfg 方法。[build-system] 表指定了构建要求,[project] 包含名称、版本和依赖项等元数据,而 [tool.*] 表则包含 pytest、black 或 mypy 等特定工具的配置。这会将多个配置文件合并到一个标准位置。

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 · 消除?
广告 · 消除?
广告 · 消除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 · 消除?