YAML ↔ JSON 转换器

在不丢失结构的情况下转换 YAML 和 JSON。

此本地双向页面组合了 IT Tools 的 YAML → JSON 和 JSON → YAML 两个独立工具。

在浏览器本地运行。 你的输入不会上传或存储。你可以在浏览器的网络面板中验证这一点。

这个工具解决什么问题?

YAML 是面向人类的 JSON 超集。可以把 YAML 配置转换为严格 JSON,也可以把 JSON 转为易读 YAML;工具使用真实 YAML 解析器,因此错误会指向实际语法问题。

应该从哪些示例开始?

YAML 转 JSON

输入

server:
  port: 8080
  hosts:
    - a
    - b

输出

{
  "server": {
    "port": 8080,
    "hosts": [
      "a",
      "b"
    ]
  }
}

JSON 转 YAML

输入

{"debug":true,"tags":["x","y"]}

输出

debug: true
tags:
  - x
  - y

它是如何工作的?

转换会先把输入解析为数据树,再序列化为目标格式。YAML 锚点和引用会在解析阶段解析。

类型转换遵循 YAML 1.2 规则;此解析器的 JSON 输出中 yes/no 保持字符串,而 true/false 和数字会成为 JSON 布尔值和数字。

有哪些边界和限制?

  • 多文档 YAML(--- 分隔符)会被拒绝,请一次转换一个文档。
  • 注释是 YAML 独有的内容,转换为 JSON 时会丢失。
  • 键顺序会按书写顺序保留,但 JSON 规范不定义对象顺序,不要在语义上依赖它。
  • YAML 1.1 布尔值(yes/no/on/off)在某些情况下会按字符串解析;如果必须保持字符串,请在 YAML 中加引号。

技术参考

相关工具