JSON反序列化多级C#
我正在序列化一个多级json对象。这些被称为网络研讨会,每个研讨会包含如下信息。我可以毫无问题地进入第一级。如果我喜欢网络研讨会[webinar].categories.TimeZone等,我可以访问第二级(categories>),但我不能循环访问它。当我尝试foreach(网络研讨会中的类别){}时,我得到: CS1579 C#foreach语句无法对类型的变量进行操作,因为它不包含“GetEnumerator”的公共定义 我做错了什么 谢谢你的帮助 示例JSONJSON反序列化多级C#,c#,json,C#,Json,我正在序列化一个多级json对象。这些被称为网络研讨会,每个研讨会包含如下信息。我可以毫无问题地进入第一级。如果我喜欢网络研讨会[webinar].categories.TimeZone等,我可以访问第二级(categories>),但我不能循环访问它。当我尝试foreach(网络研讨会中的类别){}时,我得到: CS1579 C#foreach语句无法对类型的变量进行操作,因为它不包含“GetEnumerator”的公共定义 我做错了什么 谢谢你的帮助 示例JSON { "date": "
{
"date": "2017-11-08T02:33:57Z",
"title": "Craft, The",
"desc": "Galeazzi's fx l rad, subs for opn fx type 3A/B/C w malunion",
"startTime": "4:03 AM",
"endTime": "5:46 PM",
"categories": {
"category": "e-learning",
"timeZone": "Asia/Jakarta",
"language": "English"
}
}
模型
public class Rootobject
{
public Webinar[] Webinars { get; set; }
public ELearning[] Elearning { get; set; }
}
public class Webinar
{
public DateTime Date { get; set; }
public string Title { get; set; }
public string Desc { get; set; }
public string StartTime { get; set; }
public string EndTime { get; set; }
public WebinarCategories Categories { get; set; }
}
public class WebinarCategories
{
public string Category { get; set; }
public string TimeZone { get; set; }
public string Language { get; set; }
}
我想要达到的目标
foreach (var webinar in root.webinars) {
foreach (var category in webinar) {
<button href="javascript:void(0)" class="dropbtn">@category</button>
}
}
foreach(root.webinars中的var网络研讨会){
foreach(网络研讨会中的var类别){
@类别
}
}
更改
公共网络研讨会类别{get;set;}
到
公共列表类别{get;set;}
或者,如果你真的想
IEnumerable Categories{get;set;}
更改
公共网络研讨会类别{get;set;}
到
公共列表类别{get;set;}
或者,如果你真的想
IEnumerable Categories{get;set;}
很简单,为什么这不起作用
如果你想循环浏览这些类别,你必须写
foreach (var category in webinar.Categories)
然后,您是否会因为webinarcegories
未实现GetEnumerator
而收到错误,因为它未实现IEnumerable
。如果您想在网络研讨会中存储类别列表,最简单的方法是像这样更改属性
public List<WebinarCategories> Categories { get; set; }
公共列表类别{get;set;}
很简单,为什么这不起作用
如果你想循环浏览这些类别,你必须写
foreach (var category in webinar.Categories)
然后,您是否会因为webinarcegories
未实现GetEnumerator
而收到错误,因为它未实现IEnumerable
。如果您想在网络研讨会中存储类别列表,最简单的方法是像这样更改属性
public List<WebinarCategories> Categories { get; set; }
公共列表类别{get;set;}
WebinarCategories类不是数组或列表。它不起作用,因为您的类别不是IEnumerablets类型WebinarCategories类不是数组或列表。它不起作用,因为您的类别不是IENumerableThanks类型!那正是我的问题。谢谢!那正是我的问题。