JavaScriptSerializer.Deserialize数组 [英] JavaScriptSerializer.Deserialize array
本文介绍了JavaScriptSerializer.Deserialize数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在.NET MVC3中反序列化数组时遇到麻烦,我们将不胜感激.
I'm having trouble deserializing an array in .NET MVC3, any help would be appreciated.
这是代码段:
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
using (StreamReader reader = new StreamReader(response.GetResponseStream())) {
JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
string jsonData = reader.ReadToEnd();
result = (BigCommerceOrderProducts)jsSerializer.Deserialize<BigCommerceOrderProducts>(jsonData);
}
这是JSON作为jsonData返回的数据字符串的子集.我已删除了多余的字段.
Here's the subset of the data string returned by JSON as jsonData. I've remove extra fields.
"[
{\"id\":33,\"order_id\":230025,...},
{\"id\":34,\"order_id\":230025,...}
]"
这里是对象:
[Serializable]
public class BigCommerceOrderProducts {
public List<BigCommerceOrderProduct> Data { get; set; }
}
[Serializable]
public class BigCommerceOrderProduct {
public int Id { get; set; }
public int Order_id { get; set; }
...
}
我收到此错误:
"Type 'Pxo.Models.BigCommerce.BigCommerceOrderProducts' is not supported for deserialization of an array.
有什么想法吗?
推荐答案
您应反序列化json字符串以键入List<BigCommerceOrderProduct>
.不需要BigCommerceOrderProducts
类
You should deserialize your json string to type List<BigCommerceOrderProduct>
. No need for BigCommerceOrderProducts
class
var myobj = jsSerializer.Deserialize<List<BigCommerceOrderProduct>>(jsonData);
这篇关于JavaScriptSerializer.Deserialize数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文