当前位置: 代码迷 >> Web Service >> 怎么利用json.net反序列化包含自定义类型的Arraylist
  详细解决方案

怎么利用json.net反序列化包含自定义类型的Arraylist

热度:1003   发布时间:2013-01-08 14:02:13.0
如何利用json.net反序列化包含自定义类型的Arraylist
本帖最后由 maoxiajun 于 2012-06-11 15:46:25 编辑
public class a {
public int one {get;set;}
public ArrayList two{get;set;}
}
public class b {
public int three {get;set;}
public int four {get;set;}
}

比如有这样一个类,ArrayList中添加了自定义类b,

a tmp = new a();
b b1 = new b();
b b2 = new b();
a.two.Add(b1);a.two.Add(b2);

在用json.net转换为json后,在客户端反序列化之后,在对a类中的two进行类型转换时,即
(b[])a.two.ToArray(typeof(b))

时,运行时报错
无法将类型为“Newtonsoft.Json.Linq.JObject”的对象强制转换为类型“b”
求高手解释,tks。
------解决方案--------------------
ArrayList不知道元素类型。反序列化时指定下。
  相关解决方案