如何json序列化或json反序列化对象属性IList
本文关键字:json IList 属性 IOBJ 对象 序列化 反序列化 如何 | 更新日期: 2023-09-27 18:08:42
我有一个具有interface list属性的对象。我需要序列化和反序列化这个对象。我使用牛顿json序列化它转换为json对象,但当我反序列化这个json对象的板条箱错误'无法创建一个实例'。我的班级是这样的
public class GridFilterModel
{
public IList<IFilter> Filter { get; set; }
}
这是因为它不知道使用哪种类型来反序列化IFilter
(JsonSerializer默认为IList<>
选择List<>
) -您需要在声明中使用该类型,例如假设Filter : IFilter
:
public IList<Filter> Filter { get; set; }
可以很好地序列化和反序列化。
更新以下注释
如果您不控制过滤器的类型,那么我建议创建一个DTO,其中包含您关心的所有相关数据,然后将其序列化:
public class FilterData
{
public FilterData(IFilter filter)
{
// Copy data from filter argument here into local properties.
}
}
...
public IList<FilterData> FilterData { get; set; }