多文档YAML能否用内联语法压缩?现有工具不支持该场景
多文档YAML的内联压缩方案
当然可以用内联YAML语法处理多文档YAML,关键是保留多文档的分隔符---,同时将每个文档的内容转为内联格式。
以你提供的示例为例,压缩后的形式如下:
%YAML 1.2 ---{a: b, y: z} ---{c: d, x: [1, e]}
如果追求极致紧凑,还可以在不产生歧义的前提下去掉空格:
%YAML 1.2 ---{a:b,y:z} ---{c:d,x:[1,e]}
需要记住几个要点:
- 必须保留
---作为多文档的分隔标记,这是YAML多文档结构的核心,不能省略 - 单文档的内联语法规则完全适用于每个独立文档块,比如用
{}包裹映射结构,[]包裹序列结构,键值对之间用逗号分隔 - 这种压缩方式完全符合YAML 1.2规范,主流YAML解析器都能正常解析
内容的提问来源于stack exchange,提问作者Baruch
相关产品推荐
相关产品推荐

