![](/img/trans.png)
[英]NewtonSoft is not deserializing json to object when in release mode
[英]Can I omit fields when deserializing a JSON object?
使用 .NET 的DataContractJsonSerializer
,我试图将 JSON object 反序列化为我定义的 class 。
但是,我正在反序列化的 object 的字段比我需要的要多。
有没有办法让它只反序列化我在相应的 class 中指定的字段?
我试图避免这个SerializationException
:
无法反序列化数据协定类型“xxx”,因为找不到所需的数据成员“yyy”。
这就是我在 .NET 中修复大部分 JSON 错误的方法。 我使用 JSON.NET 而不是内置的。
这是一个从他们的文档中无耻地摘录的快速示例:
Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };
string output = JsonConvert.SerializeObject(product);
//{
// "Name": "Apple",
// "Expiry": "\/Date(1230375600000+1300)\/",
// "Price": 3.99,
// "Sizes": [
// "Small",
// "Medium",
// "Large"
// ]
//}
Product deserializedProduct = JsonConvert.DeserializeObject<Product>(output);
祝你好运。
您可能想看看在您的对象上实现IExtensibleDataObject以及启用ignoreExtensionDataObject 。 ignoreExtensionDataObject 属性指定在反序列化时是否忽略未知数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.