2010-07-14 53 views
2

我試圖讓分析以下鏈接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的響應任何經驗?

回答

1

隨着JSON.NET您可以閱讀respose爲JObject,然後通過索引訪問它。

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

然後你可以從陣列反序列化對象...

1

什麼是與反序列化問題?反序列化將會產生一個字典,與潛在的內部數組和字典情況太....

,除非你建立一個串行這樣做,它不會解析爲一個自定義對象......還是看JSON.NET :http://james.newtonking.com/pages/json-net.aspx

+0

謝謝您的答覆。 我使用這裏描述的類似方法 http://stackoverflow.com/questions/401756/parsing-json-using-json-net 但在我的情況下,我不能定義「135395949809348」對象。 – Boris 2010-07-14 16:49:06

+1

權,但你可能要嘗試詞典<字符串,對象>的辦法,它反序列化字典和提取信息的方式。痛苦的一點點,但是這個場景會被處理。 – 2010-07-15 11:21:04