【发布时间】:2018-06-06 16:57:02
【问题描述】:
我有一个类似的 YAML
data:
label1:
- someval1
- someval2
label2:
- otherval1
- otehrval2
使用 YAML 解析器“gopkg.in/yaml.v2”
yaml.Unmarshal([]byte(yamlStr), &yamlObj)
# Some works and changes to yamlObj
s, _ := yaml.Marshal(&yamlObj)
fmt.Println(string(s))
这个输出:
data:
label1:
- someval1
- someval2
label2:
- otherval1
- otehrval2
生成的 YAML 是正确的,但对于我的任务,我需要在原始 YAML 中缩进的列表 (- values)。有没有办法保留这些空格和新行?
【问题讨论】:
-
为什么需要原始缩进?
-
当您将 YAML 文本解组为 Go 值时,缩进信息会丢失(未存储在内存中),因此如果不标准,再次编组无法重现相同的缩进。