YAML 是一种以缩进表示层级的数据序列化格式,名字是“YAML Ain't Markup Language”的递归缩写。下面重点说明需要注意的符号。
YAML特殊字符处理
需要加引号的特殊字符:开头的 @ ` ! & * > | % #,以及值中的“: ”和“ #”。单引号中不处理转义,双引号中支持 \n 等转义。
示例
输入:
debug: false
ratio: 0.75
YAML 转 JSON结果:
{
"debug": false,
"ratio": 0.75
}
说明:用 YAML 1.1 解析器(PyYAML safe_load)解析后输出为 JSON。
中文的处理
YAML 中可以直接写中文,文件使用 UTF-8 编码即可;含冒号、井号的中文句子要加引号,例如 title: "注意:不要修改"。
常见报错
- found character '\t' that cannot start any token:用了 Tab 缩进
- mapping values are not allowed here:冒号后缺少空格或值里有未加引号的冒号
- did not find expected key:缩进不一致
- could not determine a constructor for the tag:用 safe_load 加载了带自定义标签的内容
本站的YAML/JSON互转工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【YAML 和 JSON 能互转吗?】可以,YAML 1.2 是 JSON 的超集,但注释和锚点转换为 JSON 后会丢失。
【多行字符串怎么写?】用 | 保留换行,用 > 把换行折叠成空格。
【YAML 文件扩展名是 .yml 还是 .yaml?】两者都可以,官方推荐 .yaml。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。
标签: 文本处理