使用JSON.NET,windwos手机解析JSON时出错

时间:2013-12-23 11:27:23

标签: c# parsing windows-phone-7 windows-phone-8 json.net

当我尝试在Windows Phone项目中使用JSON.NET解析JSON时,我收到以下错误,

  

无法反序列化当前的JSON对象(例如{\“name \”:\“value \”})   进入类型'System.Collections.Generic.List`nTo修复此错误   将JSON更改为JSON数组(例如[1,2,3])或更改   反序列化类型,以便它是一个普通的.NET类型

我的回复对象就像

{"classifieds_mst":
    [
    {"classified_id":27,
     "community_id":1,
     "community_name":"ietech_apartments",
     "classified_title":"hiii"},

     {"classified_id":14,
     "community_id":1,
     "community_name":"ietech_apartments",
     "classified_title":"hiii"}
    ]
}

我生成的课程是

public class ClassifiedsMst
    {
        public int classified_id { get; set; }
        public int community_id { get; set; }
        public string classified_title { get; set; }
    }

public class Classified
{
    public List<ClassifiedsMst> classifiedsmst { get; set; }
}

我试图像这样解析

  Classified root = JsonConvert.DeserializeObject<List<Classified>>(responseString)[0];

我得到上述错误请帮助..

1 个答案:

答案 0 :(得分:3)

您发布的JSON字符串代表Classified个实例,而不是Classified个对象的列表。

您应该像这样更改Classified类:

public class Classified
{
    public List<ClassifiedsMst> classifieds_mst { get; set; }
}

并做:

Classified root = JsonConvert.DeserializeObject<Classified>(responseString);