解析Facebook的Open Graph的API JSON响应

问题描述:

我试图让分析以下链接JSON响应: https://graph.facebook.com/feed/?ids=135395949809348,149531474996&access_token=解析Facebook的Open Graph的API JSON响应

的反应是这样的:

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

我用System.Web.Script .Serialization.JavaScriptSerializer.Deserialize(string json)方法。 但是,对象的键名总是不同的,所以我不能定义可用于解析此响应的类。 任何人都有解析来自Facebook的多个ID的响应任何经验?

随着JSON.NET您可以阅读respose为JObject,然后通过索引访问它。

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

然后你可以从阵列反序列化对象...

什么是与反序列化问题?反序列化将会产生一个字典,与潜在的内部数组和字典情况太....

,除非你建立一个串行这样做,它不会解析为一个自定义对象......还是看JSON.NET :http://james.newtonking.com/pages/json-net.aspx

+0

谢谢您的答复。 我使用这里描述的类似方法 http://*.com/questions/401756/parsing-json-using-json-net 但在我的情况下,我不能定义“135395949809348”对象。 – Boris 2010-07-14 16:49:06

+1

权,但你可能要尝试词典的办法,它反序列化字典和提取信息的方式。痛苦的一点点,但是这个场景会被处理。 – 2010-07-15 11:21:04