在Json中使用IDictionary?

时间:2011-12-21 03:08:30

标签: c# facebook json facebook-graph-api idictionary

如何在iDictionary中输入和输出好友列表(下面)?

示例

{
  "data": [
    {
      "name": "John Smith", 
      "id": "111"
    }, 
    {
      "name": "Alice Smith", 
      "id": "222"
    }, 
    {
      "name": "Mary Smith", 
      "id": "333"
    }
  ], 
  "paging": {
    "next": "https://graph.facebook.com/me/friends?format=json&limit=5000&offset=5000&__after_id=100003243976011"
  }
}

1 个答案:

答案 0 :(得分:1)

  1. 您必须在应用程序中添加System.web和System.Web.Extensions程序集引用
  2. 然后尝试使用以下代码
  3.   

    string jsonData = @“{”“data”“:[{”“name”“:”“John Smith”“,”“id”“:”“111”“},
                                                                {“”name“”:“”Alice Smith“”,“”id“”:“”222“”},
                                                                {“”name“”:“”Mary Smith“”,“”id“”:“”333“”}],
                                  “”paging“”:{“”next“”:“”https://graph.facebook.com/me/friends?format=json&limit=5000&offset=5000&__after_id=100003243976011“”}}“;

                JavaScriptSerializer seri = new JavaScriptSerializer();
                var items = seri.Deserialize<Dictionary<string, object>>(jsonData);
            // As data in JSON is array get it deserialize as ArrayList of Dictionary<string,object>
                var dataArray =  items["data"] as ArrayList;    
            // Each item in array list contain key value pair of name and id
                foreach (Dictionary<string,object> item in dataArray)
                    {
            //Read Item
                    foreach (KeyValuePair<string, object> detailItem in item)
                        {
                        Console.WriteLine(detailItem.Key + " - " + detailItem.Value);
                        }
                    Console.WriteLine("-------------------------------------------");
            // Read Item
                    }