【发布时间】:2019-04-09 15:59:46
【问题描述】:
假设我有:
-: &defaults
client_id: 'invalid_client_id'
client_secret: 'secret'
production:
<<: *defaults
staging:
<<: *defaults
我想阅读它,然后将其展平,这样就没有别名了。我该怎么做?我更喜欢使用当前 YAML 库的某些配置的解决方案,而不是混合在一起的东西(如果有意义的话)。
IOW:
production:
client_id: 'invalid_client_id'
client_secret: 'secret'
staging:
client_id: 'invalid_client_id'
client_secret: 'secret'
编辑:
从 YAML.load 执行 YAML.dump 的建议有效,但它在文档中保留了原始别名:
---
"-":
client_id: invalid_client_id
client_secret: secret
production:
client_id: invalid_client_id
client_secret: secret
staging:
client_id: invalid_client_id
client_secret: secret
这不是我所需要的。很高兴接受答案,但想看看有没有其他想法。
【问题讨论】:
-
它不离开它离开节点的别名。别名是
&defaults。这些是解析器中的独立关注点 -
如果别名嵌套在另一个级别怎么办?
-
我才意识到,是的,有一个节点和一个别名!