首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在WP8中解析Json数据?

如何在WP8中解析Json数据?
EN

Stack Overflow用户
提问于 2015-01-03 12:42:58
回答 1查看 140关注 0票数 0

我是windows phone8开发的新手。我正在开发需要解析Json的应用程序。请帮我处理这个json数据。

代码语言:javascript
复制
{
    "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"
            }
        }
    ]
}

这是class

代码语言:javascript
复制
    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; }
    }

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-01-03 15:35:05

正如Peter Torr所建议的,JSON.NET是一个很好的选择。在.net框架中有一个用于序列化的DataContractJsonSerializer,但它不是很健壮。您可以使用Nuget轻松地将JSON.NET添加到您的项目中。将json放在字符串变量中

代码语言:javascript
复制
 string json = "<<your json string>>"

或从文件中读取

代码语言:javascript
复制
string json = File.ReadAllText("<<path to file>>");

然后,下面的代码将反序列化您的文本。

代码语言:javascript
复制
RootObject root = JsonConvert.DeserializeObject<RootObject>(json);

如果只保留json数组(方括号[]之间的文本),则可能会丢失根对象(看起来像是从javascript到C#的转换器),然后可以只反序列化该数组。

代码语言:javascript
复制
  List<School> school = JsonConvert.DeserializeObject<List<School>>(json);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27751811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档