【发布时间】:2013-11-18 01:10:21
【问题描述】:
我正在尝试序列化和反序列化abstract 类的列表(mustinherit 用于 vb),显然其中只有派生类的实例。
我用JsonProperty(ItemTypeNameHandling = TypeNameHandling.Auto) 修饰了列表参数,获得如下输出:
但是当我反序列化它时一直说他不能反序列化抽象类。
http://james.newtonking.com/json/help/index.html?topic=html/SerializeTypeNameHandling.htm
public class ConcreteClass
{
private ObservableCollection<AbstractClass> _Nodes = new ObservableCollection<AbstractClass>();
//<Newtonsoft.Json.JsonProperty(itemtypenamehandling:=Newtonsoft.Json.TypeNameHandling.Auto)>
public ObservableCollection<AbstractClass> Nodes {
get { return this._Nodes; }
}
public string Name { get; set; }
public int Id { get; set; }
}
public abstract class AbstractClass
{
private ObservableCollection<AbstractClass> _Nodes = new ObservableCollection<AbstractClass>();
[Newtonsoft.Json.JsonProperty(itemtypenamehandling = Newtonsoft.Json.TypeNameHandling.Auto)]
public ObservableCollection<AbstractClass> Nodes {
get { return this._Nodes; }
}
}
删除它的注释行!
【问题讨论】:
-
请发布您的反序列化代码。
-
另外,请发布您的课程。
-
我一到办公室就会更新问题
标签: c# .net vb.net serialization json.net