【发布时间】:2021-05-16 14:19:03
【问题描述】:
我正在使用JsonConvert.DeserializeObject 反序列化一些对象。有可能 json 文件中的属性可能不存在于相应的定义中。发生这种情况时,我想基本上忽略该字段并继续反序列化,但在控制台中打印该字段丢失的警告。
DeserializeObject 的文档显示可以提供额外的JsonSerializerSettings 参数,其中包含MissingMemberHandling 设置。但是,可用于该设置的两个选项是 Ignore 和 Error。前者默默地忽略丢失的字段并继续,后者停止反序列化并抛出错误。我似乎需要介于这两者之间的东西。
我在这里Detect if deserialized object is missing a field with the JsonConvert class in Json.NET 看到了类似的问题。但是,在这个问题中,原帖希望反序列化器抛出错误并停止反序列化。我希望它继续,但只是通知用户字段不匹配。有没有办法做到这一点?
【问题讨论】:
标签: c# json json.net jsonconvert