如何处理此JSON数据?

| 我刚刚发现使用FQL方法由facebook返回的JSON数据的格式与由facebook graph api返回的JSON格式不同。 例如:
FQL <> GRAPH

uid <> id

work_history <> work

education_history <> education
字段名称和数组中对象的结构也不同。 我在网站上使用FQL和GRAPH。因为我不想建立2个facebook用户类别。我决定只使用图形API。 我现在正在尝试获取所有用户朋友的列表,包括那里的工作和教育数据。 我不确定您是否需要我的代码,但是如果您需要它来解决我的问题,这里是: (我想处理的json字符串在下面更多)
public static List<FbUser> getFriends(string id, string token)
{

    //get all id\'s of friends
    string jsonUrl = graphUrl + \"/\" + id + \"/friends?access_token=\" + token;
    var json = new WebClient().DownloadString(jsonUrl);
    FbUserList useridlist = JsonConvert.DeserializeObject<FbUserList>(json);

    //get all data of friends
    jsonUrl = graphUrl + \"?ids=\" + useridlist.getIds() + \"&access_token=\" + token;
    json = new WebClient().DownloadString(jsonUrl);
    List<FbUser> userlist = JsonConvert.DeserializeObject<List<FbUser>>(json.Insert(0,\"[\") + \"]\");
    return userlist;

}
useridlist.cs
public class FbUserList
{
    private List<FbObject> _data;

public List<FbObject> data
{
    get
    {
        return _data;
    }
    set
    {
        _data = value;
    }
}

public string getIds()
{
    string result = \"\";
    foreach (FbObject o in _data) {
        result += o.id + \",\";
    }
    string test = result.Substring(0, result.Length - 1);
    return test;
}
}
之后,在json变量中,我得到以下数据:
[{\"505757632\":{\"id\":\"505757632\",\"name\":\"Cecilia demo\",\"first_name\":\"Cecilia\", ....},
    {\"507493765\":{\"id\":\"507493765\",\"name\":\"Bjorn demo\",\"first_name\":\"Bjorn\", .....}
    , ... ]
我不知道如何从该数据中获取用户对象列表。 用户对象具有诸如id,name,first_name等字段,因此我需要摆脱包裹在我的用户对象周围的其他对象。 很感谢任何形式的帮助!     
已邀请:
扭曲用户记录的对象是字典。
class FbUser()
{
   public string id { get;set;}
   public string name { get;set;}
   public string first_name { get;set;}
  .... a property name for every data element in the returned record.
}


Dictionary<string,FbUser> userlist = JsonConvert.DeserializeObject<Dictionary<string,FbUser>();
如果您实际上需要将数据作为列表,则可以执行类似操作。
List<FbUser> userlist = JsonConvert.DeserializeObject<Dictionary<string,FbUser>().Values.ToList<FbUser>();
    

要回复问题请先登录注册