当YAML文档的字段不在类型中时,YamlDotNet反序列化抛出异常

时间:2013-11-27 18:48:16

标签: c# yamldotnet

YamlDotNet是否支持反序列化文档中哪些文档中的字段未映射到结果对象中的字段?例如:

给出一个类型:

public class Foo {
    public string AField { get; set; }
}

如果我在以下文档中使用YamlDotNet' s反序列化,则会生成异常:

Foo:
  AField: This is a test
  NotFoundField: This field is not supported yet

查看YAML规范应该允许忽略非匹配字段。查看YamlDotNet代码,看起来假设文档中的所有字段都将映射到生成的对象中。

是否有现成的方法来进行解析" permissive"或者我是否需要修改YamDotNet以允许这个?

1 个答案:

答案 0 :(得分:4)

反序列化器的当前行为是假设每个键映射到一个属性。不过,实现你需要的行为并不困难。

现在有一个标志来配置此行为:https://github.com/aaubry/YamlDotNet/pull/88