2014-02-05 25 views
1

我有一個.net應用程序,我在其中獲取json格式的響應數據。我已經使用下面的代碼來獲取json響應。從json格式化對象讀取數據

string details= new System.Net.WebClient().DownloadString(url); 
var temp = JsonConvert.DeserializeObject(details.ToString()); 

我在細節

我正在從溫度如下輸出得到了一個JSON格式對象臨時和JSON格式字符串

{"data": 
[ 
{"category":"Community","name":"New Page","access_token":"accesstoken_data1","perms":["ADMINISTER","EDIT_PROFILE","CREATE_CONTENT","MODERATE_CONTENT","CREATE_ADS","BASIC_ADMIN"],"id":"1234"}, 
{"category":"Community","name":"Page ABC","access_token":"accesstoken_data2","perms":["ADMINISTER","EDIT_PROFILE","CREATE_CONTENT","MODERATE_CONTENT","CREATE_ADS","BASIC_ADMIN"],"id":"56789"} 
] 
,"paging":{"next":"https:\/\/graph.facebook.com\/1100234567\/accounts?access_token=pageAccesstoken&limit=5000&offset=5000&__after_id=77786543"} 
} 

我需要獲取類別,名稱,access_token作爲關鍵字和相應的數據作爲某些字典中的值。 我該如何實現它?

回答

2

希望這將做必要的東西

private Dictionary<string, object> deserializeToDictionary(string jo) 
    { 
     var values = JsonConvert.DeserializeObject<Dictionary<string, object>>(jo); 
     var values2 = new Dictionary<string, object>(); 
     foreach (KeyValuePair<string, object> d in values) 
     { 
      if (d.Value.GetType().FullName.Contains("Newtonsoft.Json.Linq.JObject")) 
      { 
       values2.Add(d.Key, deserializeToDictionary(d.Value.ToString())); 
      } 
      else 
      { 
       values2.Add(d.Key, d.Value); 

      } 
     } 
     return values2; 
    } 

這是從以下鏈接採取

How can I deserialize JSON to a simple Dictionary<string,string> in ASP.NET?

string json = @"{""key1"":""value1"",""key2"":""value2""}"; 

Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string> 

更多的例子:Serializing Collections with Json.NET