【问题标题】:Parsing Facebook Open Graph API JSON Response in C#在 C# 中解析 Facebook Open Graph API JSON 响应
【发布时间】:2010-07-14 16:20:26
【问题描述】:

我尝试获取以下链接的解析 JSON 响应: https://graph.facebook.com/feed/?ids=135395949809348,149531474996&access_token=

回复是这样的:

{
   "135395949809348": {
      "data": [
         {
             ....Some data
         }]
     }
,
   "325475509465": {
      "data": [
         {
       ....Some data......
      }]
    }
}

我使用 System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(string json) 方法。 但是对象的键名总是不同的,所以我无法定义可用于解析此响应的类。 有没有人有从 Facebook 解析多个 id 响应的经验?

【问题讨论】:

    标签: c# asp.net json facebook


    【解决方案1】:

    使用 JSON.NET,您可以将响应读取为 JObject,然后通过索引器访问它。

    var json = JObject.Parse(result);
    var array = json["325475509465"]["data"];
    

    然后你可以从数组中反序列化对象...

    【讨论】:

      【解决方案2】:

      反序列化有什么问题?反序列化将产生一个字典,也有潜在的内部数组和字典实例......

      除非您构建序列化程序来执行此操作,否则它不会解析为自定义对象...或查看 JSON.NET:http://james.newtonking.com/pages/json-net.aspx

      【讨论】:

      • 感谢您的回复。我使用此处描述的类似方法stackoverflow.com/questions/401756/parsing-json-using-json-net 但是,在我的情况下,我无法定义“135395949809348”对象。
      • 对,但您可能想尝试 Dictionary 方法,将其反序列化为字典并以这种方式提取信息。有点痛苦,但这种情况会被处理。
      猜你喜欢
      • 2013-05-29
      • 1970-01-01
      • 2015-08-21
      • 2011-06-18
      • 1970-01-01
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多