C#Json接口序列化
是否有人可以帮助我实现C#Json接口序列化,c#,json,C#,Json,是否有人可以帮助我实现IList的序列化。我在JsonConvert.SerializeObject的帮助下成功地序列化了它,但是。。。假设我有这样的课程: public class Show : IShow { public string Name { get; set; } public IList<IEpisode> Episodes { get; set; } public int Count { get; set; } } public
IList
的序列化。我在JsonConvert.SerializeObject
的帮助下成功地序列化了它,但是。。。假设我有这样的课程:
public class Show : IShow
{
public string Name { get; set; }
public IList<IEpisode> Episodes { get; set; }
public int Count { get; set; }
}
public class Episode : IEpisode
{
public string Name { get; set; }
public DateTime Date { get; set; }
public IList<ILink> Links { get; set; }
}
public class Link : ILink
{
public string URL { get; set; }
public string Name { get; set; }
public string Quality { get; set; }
}
但我想在每个节目(show)之前添加额外的标签,在所有节目之前添加另一个标签(shows)
有人知道怎么做吗?这可能不是JSON的本意,我觉得它的结构很好 但如果你真的需要,你可以这样做:
public class Root {
public IList<ShowWrapper> Shows { get; set;}
}
public class ShowWrapper { //silly name though ;)
public IShow Show { get; set;}
}
公共类根目录{
公共IList显示{get;set;}
}
公共类ShowWrapper{//尽管名称很傻;)
public IShow Show{get;set;}
}
并序列化根的实例,而不是
IList<IShow>.
IList。
这将产生所需的结构,但感觉非常不自然
顺便说一句,您使用的是什么序列化程序。可能有人知道一种不太“手动”的方法来实现这一点。我对JSON不太熟悉,所以这可能不是最好的方法。我会接受你的建议,我会保留你的建议。顺便说一句,我使用的是
JsonConvert.SerializeObject
。谢谢您的回答。@OndřejDlesk作为一条建议,除非您明确尝试匹配指定的JSON格式,或者您正在处理第三方的格式,否则您不应该关心JSON的外观。只要你能逻辑地设计你的类结构(你在这里有),这就是你应该担心的一切@OndřejDlesk:当你编辑问题并在那里留下关于JsonConvert的提示时,会对未来的读者有所帮助。
IList<IShow>.