[英]How to json serialize or json deserilize object with Property IList<IOBJ>?
我有一个带接口列表属性的对象。 我需要序列化和反序列化此对象。 我正在使用newton json进行序列化,它将对象转换为json,但是当我取消这个json以反对它的crate错误'无法创建实例'时。 我的班级是这样的
public class GridFilterModel
{
public IList<IFilter> Filter { get; set; }
}
这是因为它不知道使用哪种类型来反序列化IFilter
(JsonSerializer默认情况下为IList<>
选择List<>
) - 你需要在声明中使用这种类型,例如asssuming 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; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.