我是windows phone 8开发的新手。我正在处理我需要解析Json的应用程序。请帮我解决这个json数据
{
"School": [
{
"info": {
"name": "Dary",
"description": "Student",
"startAt": "",
"endAt": "",
"status": "approved",
"type": 7
},
"gui": {
"size": 60,
"sizeMB": "1.7 M"
}
},
{
"info": {
"name": "Henry",
"description": "Student",
"startAt": "",
"endAt": "",
"status": "approved",
"type": 7
},
"gui": {
"size": 60,
"sizeMB": "1.7 M"
}
}
]
}
这是课程
public class Info
{
public string name { get; set; }
public string description { get; set; }
public string startAt { get; set; }
public string endAt { get; set; }
public string status { get; set; }
public int type { get; set; }
}
public class Gui
{
public int size { get; set; }
public string sizeMB { get; set; }
}
public class School
{
public Info info { get; set; }
public Gui gui { get; set; }
}
public class RootObject
{
public List<School> School { get; set; }
}
提前致谢。
答案 0 :(得分:0)
正如Peter Torr所说,JSON.NET是一个很好的选择。 .net框架中有一个DataContractJsonSerializer用于序列化,但它不是很强大。您可以使用Nuget轻松地将JSON.NET添加到您的项目中。将json放在字符串变量
中 string json = "<<your json string>>"
或从文件中读取
string json = File.ReadAllText("<<path to file>>");
然后,以下代码将反序列化您的文本。
RootObject root = JsonConvert.DeserializeObject<RootObject>(json);
如果你只保留json数组(括号[]之间的文本),你可以丢失根对象(看起来它来自javascript到C#转换器),然后你可以反序列化数组。
List<School> school = JsonConvert.DeserializeObject<List<School>>(json);