Facebook JSON C# MVC 中的字符串处理
Facebook JSON string handling in C# MVC
我试图在 MVC 应用程序中从我的 Facebook 粉丝页面获取图片和点赞。为此,我正在使用 Facebook C# SDK。以下是 returns 格式为 JSON 的代码。
var client = new FacebookClient();
client.AppId= "your_access_token";
client.AppSecret = "your_App_Secret";
client.AccessToken = "your_access_token";
dynamic data= client.Get("FanPageName?fields=id,name,photos{name,source,likes.summary(true).filter(stream)}");
上面的代码 returns 和 JSON 我把它存储在一个名为 data 的动态对象中。现在我想迭代这个 JSON 以便我可以将数据存储在数据库中以供进一步工作。
我对如何迭代这个动态对象感到困惑。
获取有关照片的信息非常简单:
foreach(dynamic photo in data.photos.data) {
var url = photo.source.Value; // returns a string type
var likes = ((IEnumerable)photo.likes.data).Cast<dynamic>()
.Sum(x => x.total_count);
}
请注意 Linq 部分,因为我不确定 likes.data
returns 是否包含多个项目的数组,它不会显示在您的评论中。尽管拥有多个项目没有意义,因为照片应该 (IMO) 只有 "one total count"。如果它保证它 returns 只有一个项目那么你可以简单地做一个:
photo.likes.data[0].total_count.Value
但话又说回来,采用 Linq 方法是更安全的方法。
我试图在 MVC 应用程序中从我的 Facebook 粉丝页面获取图片和点赞。为此,我正在使用 Facebook C# SDK。以下是 returns 格式为 JSON 的代码。
var client = new FacebookClient();
client.AppId= "your_access_token";
client.AppSecret = "your_App_Secret";
client.AccessToken = "your_access_token";
dynamic data= client.Get("FanPageName?fields=id,name,photos{name,source,likes.summary(true).filter(stream)}");
上面的代码 returns 和 JSON 我把它存储在一个名为 data 的动态对象中。现在我想迭代这个 JSON 以便我可以将数据存储在数据库中以供进一步工作。
我对如何迭代这个动态对象感到困惑。
获取有关照片的信息非常简单:
foreach(dynamic photo in data.photos.data) {
var url = photo.source.Value; // returns a string type
var likes = ((IEnumerable)photo.likes.data).Cast<dynamic>()
.Sum(x => x.total_count);
}
请注意 Linq 部分,因为我不确定 likes.data
returns 是否包含多个项目的数组,它不会显示在您的评论中。尽管拥有多个项目没有意义,因为照片应该 (IMO) 只有 "one total count"。如果它保证它 returns 只有一个项目那么你可以简单地做一个:
photo.likes.data[0].total_count.Value
但话又说回来,采用 Linq 方法是更安全的方法。