反序列化不同对象的列表
本文关键字:列表 对象 反序列化 | 更新日期: 2023-09-27 18:33:11
假设我有以下 C# 类
[JsonObject(MemberSerialization.OptIn)]
public class Parent
{
[JsonProperty]
public int SharedProp { get; set; }
}
public class ChildA : Parent
{
[JsonProperty]
public string ChildAProperty { get; set; }
}
public class ChildB : Parent
{
[JsonProperty]
public string ChildAProperty { get; set; }
}
现在,我创建了一个包含 0 到 n 个对象的List<Parent>
。列表的序列化工作正常,并给了我一个有效的 JSON 文件,我可以反序列化。问题是,我目前只得到List<Parent>
,没有ChildA
或ChildB
对象。
我正在使用Newtonsoft JSON序列化程序/反序列化程序。有什么方法可以实现这一点,还是我必须将其拆分为单独的文件/列表?
您需要
在JsonSerializerSettings
中指定TypeNameHandling
。以本文为例。