003、YAML语法精讲:缩进的艺术与复杂结构表达
上周调试一个设备配置问题,花了两小时才发现是YAML里一个缩进多了两个空格。配置文件看起来完全正常,解析也没报错,但某个参数就是没生效。这种问题在JSON里根本不会出现——大括号一闭合,结构清清楚楚。但YAML的魅力也在这里:用最简洁的格式表达复杂结构,代价是必须对缩进保持绝对敬畏。
缩进不是建议,是语法
YAML的缩进必须使用空格,不能用Tab。这是很多从Python转过来的工程师容易忽略的点。编辑器里看着对齐了,实际混用了Tab和空格,解析器直接报错。
# 正确写法device:port:8080timeout:30# 错误写法(用了Tab缩进)