指南

如何将 JSON 转换为 YAML

输入有效 JSON 后执行转换,就能得到块样式的 YAML 文本;你还可以设置缩进,并选择是否排序映射键。

工具 JSON 转 YAML 转换器

先确认输入与输出

JSON 和 YAML 都常用于表达结构化数据,但书写方式不同。这个工具适合把已经准备好的 JSON 文本整理成块样式的 YAML 文本,便于查看对象层级、嵌套内容和数组结构。转换时可以根据阅读习惯调整缩进,也可以改变映射键的排列偏好。

按顺序完成转换

  1. 准备要转换的 JSON 文本。内容可以是一个对象、包含对象的更深层结构,也可以直接是数组;如果暂时没有内容,输入区域可以保持为空。

  2. 把 JSON 文本输入对应区域。提交前先看一下括号、逗号、键名和字符串的写法,普通说明文字或其他格式不能替代 JSON 文本。JSON 的键名和字符串通常需要使用双引号,少一个符号也可能让整段内容失去有效性。

  3. 按输出用途选择缩进数值。没有特别设置时,缩进采用 2;需要更宽或更窄的层级间距时,可以改用其他数值设置。缩进只负责呈现层级,不会修正输入中的语法问题。

  4. 如果希望映射键按照排序后的顺序显示,可以开启键排序偏好;该偏好默认关闭。若需要保留输入中较直观的排列方式,则可维持默认状态再执行转换。

  5. 执行转换并查看生成区域。有效 JSON 会被整理为块样式 YAML,非空数组会通过列表标记呈现,带有 YAML 特殊含义的字符串可能会以引号包围,Unicode 字符也可以保留在结果中。

  6. 使用结果前检查层级关系,重点查看对象内部的数组、数组中的对象,以及字符串是否仍按预期表达。空字符串或只含空白的输入属于允许情况,执行后会得到成功状态,但生成文本为空;这与没有产生响应不同。

从结果判断下一步

成功时,结果应表现为一段 YAML 文本,层级主要通过缩进阅读,数组项目则可从列表标记中辨认。改变缩进后,同一数据的视觉层次会不同;开启键排序后,映射键的显示顺序也可能变化,因此比较两次结果时应同时记录这些选项。若结果状态表示转换未成功,先把注意力放回输入语法,因为无效 JSON 不会生成 YAML 文本;即使 YAML 生成阶段出现序列化失败,也应把它视为未成功的转换。

使用示例

你正在整理一份含有中文名称和物品数组的配置数据,希望先查看它对应的 YAML 结构。

输入 {"name":"小林","items":["书","笔"]},保持默认缩进后执行转换,再查看生成内容中的对象层级和数组列表标记。

结果应为块样式 YAML,顶层对象中的 name 表现为映射项,items 表现为带列表标记的数组,中文字符可以保留。

使用限制

  • 输入需要符合 JSON 语法;输入无效或 YAML 序列化阶段失败时,转换不会成功,也不会提供 YAML 文本。

常见错误

  • 如果键名、字符串或成对符号不符合 JSON 写法,输入就不是有效 JSON。请先修正语法并重新提交,因为这类输入不会产生 YAML 文本。

常见问题

不输入 JSON 也能执行转换吗?

当输入为空或只含空白时,可以执行转换,并会成功得到空的 YAML 文本;JSON 输入本身不是必填项。

嵌套对象和数组能转换吗?

当内容属于有效 JSON 时,嵌套对象和数组都能参与转换;非空数组会在块样式结果中显示列表标记。

普通文本可以直接转换成 YAML 吗?

当所谓的普通文本不符合 JSON 语法时,不能直接获得转换结果;请先把内容整理成有效 JSON。

工具

JSON 转 YAML 转换器