gpt4 book ai didi

c# - 如何使用 Property List 对对象进行 json 序列化或 json 反序列化?

转载 作者:行者123 更新时间:2023-11-30 17:05:54 25 4
gpt4 key购买 nike

我有一个带有接口(interface)列表属性的对象。我需要序列化和反序列化这个对象。我正在使用 newton json 进行序列化,它将对象转换为 json,但是当我反序列化此 json 以反对其 crate 错误 'Could not create an instance' 时。我的课是这样的

public class GridFilterModel
{
public IList<IFilter> Filter { get; set; }
}

最佳答案

那是因为它不知道使用哪种类型来反序列化 IFilter into (JsonSerializer 默认为 List<> 选择 IList<>) - 您需要在声明中使用此类型,例如假设 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; }

关于c# - 如何使用 Property List<IOBJ> 对对象进行 json 序列化或 json 反序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15966476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com