Json.net JsonConverter不用于某些类型的容器
我有一个从JsonConverter继承的类:Json.net JsonConverter不用于某些类型的容器,json.net,deserialization,converter,Json.net,Deserialization,Converter,我有一个从JsonConverter继承的类: JsonDataBagCreationConverter:JsonConverter其中T:IDataBag 我有一个实现IDataBag的班级公司 当我反序列化公司JsonDataBagCreationConverter的单个属性时,会像我预期的那样调用其ReadJson方法。 当我反序列化一个Company数组时,JsonDataBagCreationConverter会像我预期的那样调用其ReadJson方法。 它也适用于公司的通用列表 但是
JsonDataBagCreationConverter:JsonConverter其中T:IDataBag
我有一个实现IDataBag的班级公司
当我反序列化公司JsonDataBagCreationConverter的单个属性时,会像我预期的那样调用其ReadJson方法。
当我反序列化一个Company数组时,JsonDataBagCreationConverter会像我预期的那样调用其ReadJson方法。
它也适用于公司的通用列表
但是对于公司的某些容器,json.net将无法识别列表的内容是Company类型的。因此,反序列化时不使用JsonDataBagCreationConverter
ie型集装箱
System.Collections.DictionaryEntry,
System.Collections.ArrayList,
System.Collections.Hashtable,
System.Collections.SortedList
存储公司对象的
我知道这些容器是非通用的。
当内容为Idatabag(即公司)时,是否可以让(反)序列化程序查看这些容器的内容并使用JsonDataBagCreationConverter
致意
Jan从转换器中移除
其中的T:IDataBag
,覆盖CanConvert
,并在那里写入逻辑以检查您的类型,并相应地返回true或false