0

我有一个 YAML 文档:

name: foo
description: bar

和另一个 YAML 文档为:

name: foo1
desc: bar1

我正在使用 YamlDotNet YamlMember 'Alias' 属性来定义属性名称。但它让我只定义一个别名。我希望“description”和“desc”反序列化为单个变量。两者不能同时出现在 YAML 文件中。有什么办法可以实现吗?

4

1 回答 1

0

仅使用 YAML 是不可能的。锚点(以及它们作为别名的使用)不会从 YAML 文档转移到一个文件中的 YAML 文档,因此肯定不会从不同文件中的 YAML 文档转移。

您可以在加载 YAML 后尝试自己进行一些后处理,但在后处理期间您可能不能使用别名,因为“锚名称是序列化细节,一旦完成就被丢弃”,因此您必须使用一些唯一的字符串模板或特殊别名对象,您可以在从 YAML 加载的对象树中轻松找到它们。

于 2017-02-18T06:44:04.550 回答