newtonsoft json使用子类化集合反序列化

时间:2019-03-01 20:20:43

标签: json inheritance serialization collections json.net

我有一系列的类MyConcreteClass : MyBaseClass和一系列的集合类MyConcreteCollection : MyBaseCollection

最有趣的地方是

public abstract class MyBaseCollection
{
    public List<MyBaseClass> MyItems :get; set;}
}

它可以很好地进行序列化,并且MyItems中的对象确实显示为正确的项目(在设置{ TypeNameHandling = TypeNameHandling.All };的JSON中查找

我的问题是我要反序列化时-显然我们无法创建List<MyBaseClass>的对象(很抽象)-我需要反序列化为List<MyConcreteClass> 好消息? List<MyConcreteClass>对于每种MyConcreteCollection都是相同的,又称

MyFirstCollectionType: MyBaseCollection MyItems将始终为FistConcreteType : MyBaseClass类型,而MySecondCollectionType: MyBaseCollection将始终为SecondConcreteType : MyBaseClass类型

认为可能只是自定义转换器,但我不明白。

0 个答案:

没有答案
相关问题