-3

我如何解析来自https://graph.facebook.com/google/的以下结果

{
   "about": "组织世界信息并使其普遍可访问和有用。",
   “签到”:22645,
   "company_overview": "Google 是一家专注于搜索服务的公开盈利公司。以数学术语“googol”命名,Google 在许多国际域中运营网站,其中访问量最大的是 www.google.com。Google 是因其快速、准确和易于使用而被公认为“世界上最好的搜索引擎”。公司还为包括广告商、内容发布商和网站管理员在内的企业客户提供具有成本效益的广告和广泛的创收服务搜索服务。Google 的突破性技术和持续创新服务于公司的使命,即“组织世界信息并使其普遍可访问和有用。”,
   “成立”:“1998”,
   “is_published”:是的,
   “地点”: {
      "street": "1600 Amphitheatre Parkway",
      "城市": "山景",
      “状态”:“CA”,
      “国家”:“美国”,
      “邮编”:“94043”,
      “纬度”:37.421956357856,
      “经度”:-122.08422985089
   },
   "mission": "Google 的使命是组织全球信息并使其普遍可用和有用。",
   "products": "查看完整列表:\nhttp://www.google.com/options/index.html",
   “talking_about_count”:60684,
   “用户名”:“谷歌”,
   “网站”:“www.google.com”,
   “were_here_count”:0,
   “类别”:“网站”,
   "id": "104958162837",
   “名称”:“谷歌”,
   "链接": "http://www.facebook.com/Google",
   “喜欢”:12341682,
   “覆盖”: {
      "cover_id": "10151163547067838",
      “来源”:“http://sphotos-d.ak.fbcdn.net/hphotos-ak-ash3/s720x720/546101_10151163547067838_18950259_n.jpg”,
      “offset_y”:0,
      “偏移量_x”:0
   }
}

4

2 回答 2

4

将该 JSON 粘贴到http://json2csharp.com中,这将为您提供映射的类,这些类将是:

public class Location
{
    public string street { get; set; }
    public string city { get; set; }
    public string state { get; set; }
    public string country { get; set; }
    public string zip { get; set; }
    public double latitude { get; set; }
    public double longitude { get; set; }
}

public class Cover
{
    public string cover_id { get; set; }
    public string source { get; set; }
    public int offset_y { get; set; }
    public int offset_x { get; set; }
}

public class RootObject
{
    public string about { get; set; }
    public int checkins { get; set; }
    public string company_overview { get; set; }
    public string founded { get; set; }
    public bool is_published { get; set; }
    public Location location { get; set; }
    public string mission { get; set; }
    public string products { get; set; }
    public int talking_about_count { get; set; }
    public string username { get; set; }
    public string website { get; set; }
    public int were_here_count { get; set; }
    public string category { get; set; }
    public string id { get; set; }
    public string name { get; set; }
    public string link { get; set; }
    public int likes { get; set; }
    public Cover cover { get; set; }
}

稍后您可以将 Newtonsoft JSON 解析器用作:

RootObject myObject =  JsonConvert.DeserializeObject<RootObject>(jsonString);

您应该看到Json.Net 的文档

于 2013-03-12T05:17:53.457 回答
1

与其创建和支持多个表示 json 结构的类,我更喜欢将 json 反序列化为动态对象:

dynamic d = JObject.Parse(json);
//d.founded == "1998"
于 2013-03-12T05:26:46.813 回答