C# 将IDictionary与Json一起使用?

C# 将IDictionary与Json一起使用?,c#,facebook,json,facebook-graph-api,idictionary,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": {   

如何在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"
  }
}
  • 您必须在应用程序中添加System.web和System.web.Extensions程序集引用
  • 然后尝试使用以下代码
  • 字符串jsonData=@“{”数据“:[{”名称“:”约翰·史密斯“,”id“:”111“},
    {“姓名”:“爱丽丝·史密斯”,“身份证”:“222”},
    {“姓名”:“玛丽·史密斯”,“身份证”:“333”},
    “”分页“”:{“下一步”:“”https://graph.facebook.com/me/friends?format=json&limit=5000&offset=5000&__after_id=100003243976011"" } }";

    JavaScriptSerializer seri=新的JavaScriptSerializer();
    var items=序列反序列化(jsonData);
    //由于JSON中的数据是数组,所以将其反序列化为字典的ArrayList
    var dataArray=项目[“数据”]作为ArrayList;
    //数组列表中的每个项都包含名称和id的键值对
    foreach(数据数组中的字典项)
    {
    //阅读项目
    foreach(项中的KeyValuePair detailItem)
    {
    Console.WriteLine(detailItem.Key+“-”+detailItem.Value);
    }
    Console.WriteLine(“-----------------------------------------”;
    //阅读项目
    }
    
                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
                    }