Yaml:我们可以对整个Yaml文件/文档应用前缀吗?
我有这样一份文件:Yaml:我们可以对整个Yaml文件/文档应用前缀吗?,yaml,Yaml,我有这样一份文件: --- prefix1: prefix2: a: b: a: 'x' c: b: 'y' d: c: 'z' b: b: a: 'x' c: b: 'y' d: c: 'z' c: b: a: 'x' c: b: 'y'
---
prefix1:
prefix2:
a:
b:
a: 'x'
c:
b: 'y'
d:
c: 'z'
b:
b:
a: 'x'
c:
b: 'y'
d:
c: 'z'
c:
b:
a: 'x'
c:
b: 'y'
d:
c: 'z'
整个文档将嵌套在prefix1.prefix2
下,由于各种原因,我无法轻松更改(使用Yaml的不同工具和作为源代码的同一文档)
有没有办法重写这个文档,这样我就不会有太多的缩进需要处理
像这样的
DocumentPrefix=prefix1.prefix2
---
a:
b:
a: 'x'
c:
b: 'y'
d:
c: 'z'
b:
b:
a: 'x'
c:
b: 'y'
d:
c: 'z'
c:
b:
a: 'x'
c:
b: 'y'
d:
c: 'z'
YAML无法进行数据转换,因此您想要做的是不可能的。如果缩进错误,可以使用流样式集合:
---
{ prefix1: { prefix2: {
a: {
b: {a: 'x'},
c: {b: 'y'},
d: {c: 'z'}
},
b: {
b: {a: 'x'},
c: {b: 'y'},
d: {c: 'z'},
},
c: {
b: {a: 'x'},
c: {b: 'y'},
d: {c: 'z'}
}
}}}
YAML无法进行数据转换,因此您想要做的是不可能的。如果缩进错误,可以使用流样式集合:
---
{ prefix1: { prefix2: {
a: {
b: {a: 'x'},
c: {b: 'y'},
d: {c: 'z'}
},
b: {
b: {a: 'x'},
c: {b: 'y'},
d: {c: 'z'},
},
c: {
b: {a: 'x'},
c: {b: 'y'},
d: {c: 'z'}
}
}}}
AFAIK yaml只是一种数据序列化格式。我认为如果不“打破”任何东西,就没有办法改变它。您可以编写一个脚本或其他东西,从您的“简化”版本生成原始版本。不幸的是,在我的情况下,管理两个不同的文件并不方便(顺便说一句,我宁愿使用JSON作为源代码),因此,我想您只有两个选择:保留yaml格式的第一个版本。或者使用该文件修改程序(我想最后一个不是选项…)AFAIK yaml只是一种数据序列化格式。我认为如果不“打破”任何东西,就没有办法改变它。您可以编写一个脚本或其他东西,从您的“简化”版本生成原始版本。不幸的是,在我的情况下,管理两个不同的文件并不方便(顺便说一句,我宁愿使用JSON作为源代码),因此,我想您只有两个选择:保留yaml格式的第一个版本。或者使用该文件修改程序(我想最后一个不是选项…),我们可以同时混合这两种样式吗?不太确定您可以在块样式中的任何位置使用流样式,但一旦输入流样式,您需要将其保留在所有嵌套节点中。我们是否可以同时混合这两种样式?不是很确定可以在块样式中的任何位置使用流样式,但一旦输入流样式,就需要将其保留在所有嵌套节点中。