支持yamldotnet反序列化

时间:2017-02-18 00:56:09

标签: yaml yamldotnet

我有一个YAML文件:

name: foo
description: bar

和另一个YAML文件:

name: foo1
desc: bar1

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

1 个答案:

答案 0 :(得分:0)

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

您可以尝试在加载YAML后自己进行一些后处理,但是您可能无法在后处理期间使用别名"anchor names are a serialization detail and are discarded once composing is completed",因此您必须使用一些唯一的字符串模板或特殊的别名对象,您可以轻松找到从YAML加载的对象树。