Deserializuj List <AbstractClass> za pomocą newtonsoft.json
Próbuję serializować i deserializować listęabstract
klasy (mustinherit
dla vb), oczywiście wewnątrz niej są tylko instancje klas pochodnych.
Udekorowałem parametr listy za pomocąJsonProperty(ItemTypeNameHandling = TypeNameHandling.Auto)
uzyskanie wyniku, który wygląda tak:
Ale kiedy sprzeniewierzyć ją, powtarzam, że nie może deserializować abstrakcyjnej klasy.
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; }
}
}
usunięcie skomentowanej linii działa!