YamlDotNet 是否支持反序列化文档,其中文档中的字段未映射到结果对象中的字段?例如:
给定一个类型:
public class Foo {
public string AField { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如果我在以下文档上使用 YamlDotNet 的反序列化,则会生成异常:
Foo:
AField: This is a test
NotFoundField: This field is not supported yet
Run Code Online (Sandbox Code Playgroud)
查看 YAML 规范,应该允许忽略不匹配的字段。查看 YamlDotNet 代码,似乎假定文档中的所有字段都将映射到结果对象中。
是否有一种现有的方法可以使解析“允许”,或者我是否需要修改 YamDotNet 以允许这样做?
反序列化器的当前行为是假设每个键都映射到一个属性。不过,实现您需要的行为应该不难。
现在有一个标志来配置此行为:https : //github.com/aaubry/YamlDotNet/pull/88