gpt4 book ai didi

c# - 如何处理这个 JSON 数据?

转载 作者:太空宇宙 更新时间:2023-11-03 20:34:27 26 4
gpt4 key购买 nike

我刚刚发现 facebook 使用 FQL 方法返回的 JSON 数据与 facebook graph api 返回的 JSON 格式不同。

例如:

FQL <> GRAPH

uid <> id

work_history <> work

education_history <> education

字段名称和数组中对象的结构也不同。

我在我的网站上使用 FQL 和 GRAPH。因为我不想制作 2 个 facebook 用户类。我决定只使用图形 API。

我现在正在尝试获取所有用户 friend 的列表,包括那里的工作和教育数据。

我不确定你是否需要我的代码,但如果你需要它来解决我的问题,这里是:(下面是我要处理的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;

}

用户名列表.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>();

关于c# - 如何处理这个 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5676928/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com