如何在WP8中解析Json数据?

时间:2015-01-03 04:42:58

标签: json windows-phone-8

我是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; }
    }

提前致谢。

1 个答案:

答案 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);