问题描述
|
使用.NET \的“ 0”,我试图将JSON对象反序列化为我定义的类。
但是,我要反序列化的对象具有比我所需更多的字段。
有没有办法使它只反序列化我在相应类中指定的字段?
我正尝试避免此“ѭ”:
数据协定类型\'xxx \'无法反序列化,因为未找到所需的数据成员'yyy \'。
解决方法
这就是我修复.NET中大多数JSON错误的方法。我使用JSON.NET而不是内置的。
http://json.codeplex.com/
这是一个从他们的文档中毫不客气的简单例子:
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属性指定在反序列化时是否忽略未知数据。