粘贴YAML或JSON文本,一键双向转换并格式化输出。纯本地运行,数据不上传,保护隐私。
YAML(YAML Ain't Markup Language)是一种人类可读的数据序列化格式,广泛用于配置文件(如Docker Compose、Kubernetes、GitHub Actions)。但程序处理时通常需要转为JSON格式。YAML转JSON工具可以在两种格式之间快速双向转换,方便开发和运维人员使用。
📋 YAML与JSON互转公式与规则
转换规则:YAML缩进层级对应JSON嵌套深度,YAML的key: value对应JSON的"key": value。YAML列表(- item)转为JSON数组([item]),YAML注释(#)在JSON中被丢弃。支持多文档YAML(---分隔)转为JSON数组。注意:YAML的字符串通常不需要引号,但JSON的字符串必须用双引号。
📋 YAML与JSON特性对照表
| 特性 | YAML | JSON |
|---|---|---|
| 注释 | 支持 # 注释 | 不支持 |
| 多行字符串 | 支持 | 和 > | 仅 \n 转义 |
| 锚点/引用 | 支持 & 和 * | 不支持 |
| 数据类型 | 自动推断 | 需引号区分 |
| 缩进 | 空格缩进 | 大括号/中括号 |
📋 YAML与JSON互转规则
YAML -> JSON: 缩进层级 -> 嵌套对象, 列表项(- ) -> 数组, 键值对(key: value) -> 对象属性, 多行字符串 -> 单行字符串(\n转义)
YAML是JSON的超集,所有合法JSON都是合法YAML。反向转换时YAML的注释、锚点、别名和多行字符串等特性会被标准化处理。YAML 1.2规范与JSON完全兼容,建议使用YAML 1.2解析器确保转换准确性。
DevOps工程师编写K8s配置文件时,需要在YAML和JSON之间切换。前端开发用YAML写国际化配置,构建时转JSON。后端API返回JSON,需要转成YAML格式的文档。学习YAML语法时,用JSON对照理解结构。
选择转换方向(YAML→JSON或JSON→YAML),将源数据粘贴到左侧输入框,点击「转换」按钮,右侧显示转换结果。如果源数据有语法错误,工具会显示错误信息和行号。转换后的结果可以一键复制,也可以下载为文件。
YAML支持注释、锚点引用、多行字符串,更适合写配置文件;JSON更严谨、解析速度快,适合数据传输和API交互,两者可以无损互转。
是的,YAML规范要求使用空格缩进,不支持Tab键。通常用2空格表示层级,同级元素必须严格对齐,缩进错误是最常见的YAML语法问题。
用and符号定义锚点,用星号引用,可以实现配置复用,避免重复书写。例如数据库公共配置定义一次,多个环境都可以引用。
用竖线保留换行符,用大于号折叠换行(转为空格)。加号表示保留末尾换行,减号表示删除末尾换行,根据输出需求选择。
YAML支持多种写法(如流式、块式),转JSON后会统一为标准JSON格式。常见变化:1)YAML的注释(#)会被去除(JSON不支持注释);2)YAML的多行字符串会变为单行;3)YAML的锚点和引用(&/*)会被展开为完整对象。这些都是正常行为,不影响数据正确性。