解析Facebook的Open Graph的API JSON响应
问题描述:
我试图让分析以下链接JSON响应: https://graph.facebook.com/feed/?ids=135395949809348,149531474996&access_token=解析Facebook的Open Graph的API JSON响应
的反应是这样的:
{
"135395949809348": {
"data": [
{
....Some data
}]
}
,
"325475509465": {
"data": [
{
....Some data......
}]
}
}
我用System.Web.Script .Serialization.JavaScriptSerializer.Deserialize(string json)方法。 但是,对象的键名总是不同的,所以我不能定义可用于解析此响应的类。 任何人都有解析来自Facebook的多个ID的响应任何经验?
答
随着JSON.NET您可以阅读respose为JObject,然后通过索引访问它。
var json = JObject.Parse(result);
var array = json["325475509465"]["data"];
然后你可以从阵列反序列化对象...
答
什么是与反序列化问题?反序列化将会产生一个字典,与潜在的内部数组和字典情况太....
,除非你建立一个串行这样做,它不会解析为一个自定义对象......还是看JSON.NET :http://james.newtonking.com/pages/json-net.aspx
谢谢您的答复。 我使用这里描述的类似方法 http://stackoverflow.com/questions/401756/parsing-json-using-json-net 但在我的情况下,我不能定义“135395949809348”对象。 – Boris 2010-07-14 16:49:06
权,但你可能要尝试词典的办法,它反序列化字典和提取信息的方式。痛苦的一点点,但是这个场景会被处理。 – 2010-07-15 11:21:04