繁体   English   中英

如何使用Property IList进行json序列化或json deserilize对象 <IOBJ> ?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM