编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 格式化 / JSON转YAML

JSON转YAML

把 JSON 转成 YAML 格式。

输入
结果

这个工具能做什么

粘贴一段合法的 JSON,工具会把它转成等价的缩进式 YAML 文本。日常里手写 YAML 很容易在缩进层级、冒号后空格、字符串该不该加引号这些细节上出错,而很多接口文档、配置样例又是以 JSON 给出的,照着改成 K8s 清单或 CI 配置既费时又容易踩坑。这个 json转yaml 工具把 JSON 的对象、数组、字符串、数字、布尔和 null 逐一映射成 YAML 对应的写法,省去逐行手动转写的工夫。

转换的本质是先把 JSON 文本解析成内存里的数据结构,再按 YAML 语法重新序列化输出,而不是做简单的字符串替换。对象的键值对变成「键: 值」并逐层增加两个空格缩进,数组的每个元素前加「- 」,嵌套结构完全靠缩进层级表达。对于字符串,工具会判断内容是否会被 YAML 误解析——比如以数字、true、null、#、: 等开头或包含特殊字符时会自动加引号,而 UTF-8 中文字符可以直接保留、无需转义,从而保证输出能被标准 YAML 解析器还原成原来的数据。

最常见的用法是把 JSON 形式的配置改写成 YAML。举例来说,从文档里拷来一段 JSON 描述的 Deployment,粘进来就能得到缩进版的清单雏形,再补上 apiVersion、kind 即可用;又比如把一份 JSON 的环境变量清单转成 GitHub Actions、GitLab CI 里习惯的 YAML 写法。对于层级较深的嵌套数据,肉眼转写极易漏缩进、错层级,用 json to yaml 一次转好再核对,比手敲可靠得多。

需要注意的是 JSON 与 YAML 并非完全一一对应。YAML 无法表达 JSON 里的重复键,注释也不会凭空还原(JSON 本身不含注释);另外 JSON 的 key 一律是字符串,转成 YAML 后像「123」这样的纯数字键仍需保留引号,以免被当成整数。工具默认输出块状(block)缩进风格而非流式(flow)风格,追求的是可读的清单式排版;若你手上是 YAML 想转回来,应使用反向的 yaml 转 json 工具。整个转换只在浏览器本地完成,粘贴的数据不会上传。

JSON转YAML是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“json转yaml”、“json转yml”、“yaml生成”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

这个工具支持哪些 JSON 数据类型?
支持 JSON 标准的全部类型:对象、数组、字符串、数字、布尔值和 null,会分别映射成 YAML 的映射、序列、标量和 null 空值。多层嵌套的对象和数组也能正确转成对应的缩进层级。
为什么有些字符串被自动加了引号,有些没有?
只有当字符串内容会被 YAML 误当成别的类型或破坏语法时才加引号,比如纯数字、true/false/null、以 #、-、: 等特殊字符开头或包含「冒号加空格」的情况。普通中文和英文单词不会产生歧义,所以保持原样、不加引号。
json转yaml 和 yaml转json 是一回事吗?
不是,两者方向相反。本工具只做 JSON 到 YAML 的转换;如果你手上是 YAML 想转回 JSON,需要使用反向的 yaml 转 json 工具。
转换会改变数据的顺序或丢失信息吗?
键的顺序会按它们在 JSON 中出现的先后保留,值也一一对应,不会丢失。唯一要注意的是 JSON 里若存在重复键,YAML 无法表达重复键,且原本没有的注释不会被生成出来。
提示 JSON 解析失败、格式错误该怎么办?
这说明粘贴的不是合法 JSON,常见原因是多了尾逗号、用了单引号、键没加双引号或夹带了注释。先用 JSON 校验或格式化工具修正成标准 JSON,再来转换即可。

相关工具

查看全部「格式化」工具 →

相关名词解释