C# JSON.NET 如何忽略反序列化中的属性而不是序列化中的属性

标签 c# json json.net

我有一个要序列化为 JSON 然后反序列化的对象。

其中一个属性的结构已更改,现在反序列化崩溃,所以我现在需要忽略对该属性的反序列化。

我可以使用 [JsonIgnore, JsonProperty(Required = Required.Default)] 完全忽略该属性,但这也忽略了序列化中的属性 - 它需要保留以便不会丢失数据,即使如果此时没有连载。

最佳答案

这里有一个答案,虽然有点旧:https://stackoverflow.com/a/31732029/12431728但是,它对我来说似乎仍然可行,我不知道有更好/不同的方法来做到这一点。该答案建议使用 JsonIgnore 标记真实属性并创建“仅获取代理属性”。

然后它继续建议创建自定义 ContractResolver,如果您需要为许多属性提供此功能(也称为可重用解决方案)。

关于C# JSON.NET 如何忽略反序列化中的属性而不是序列化中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59042162/

相关文章:

c# - 如何获取数组中每个元素的绝对值

json - Delphi 7 - 字符集 REST JSON

c# - 为什么 Json.Net 当 byte[] 是字典键时无法正确序列化?

c# - Newtonsoft.Json.JsonConvert.DeserializeObject<T> 可以返回 null 吗?如何?

c# - 在 .NET 中强化 Json 注入(inject)

c# - 合并列表并从两者中选择属性

c# - 如何保存到外部配置文件

c# - XML SelectNodes then SelectSingleNodes - 只检索第一个

php - 如何在点击事件上使用javascript/jquery从json中一一获取数据?

javascript - 蒙哥错误: "doc parameter must be an array of documents"