我已经为了在一次检索的朋友列表中使用FQL查询:解析检索到的Facebook好友相关内容
-(void)fetchSaveUserFriendDetails
{
NSString* query = [NSString stringWithFormat:@"SELECT uid,name,birthday_date FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"];
// Set up the query parameter
NSDictionary *queryParam = [NSDictionary dictionaryWithObjectsAndKeys:
query, @"q", nil];
// Make the API request that uses FQL
[FBRequestConnection startWithGraphPath:@"/fql"
parameters:queryParam
HTTPMethod:@"GET"
completionHandler:^(FBRequestConnection *connection,
id result,
NSError *error) {
if (!error)
{
NSLog(@"result is %@",result);
NSArray *resultData = [result objectForKey:@"data"];
if ([resultData count] > 0) {
for (NSUInteger i=0; i<[resultData count] ; i++) {
[self.friendsDetailsArray addObject:[resultData objectAtIndex:i]];
NSLog(@"friend details are %@",friendsDetailsArray);
}
}
}
}];
//Save friends to database stuff
..................
}
我得到下面的输出:
我已经通过Facebook Developers FQL查询的官方文档,但我无法找出如何解析数据。
我尝试以下方法来解析检索到的数据:
NSString *jsonString = [[NSString alloc] initWithData:result encoding:NSUTF8StringEncoding];
NSDictionary *jsonValue = [jsonString JSONValue];
NSArray *values = [jsonValue objectForKey:@"friendinfo"];
其中结果持有JSON格式各界朋友的数据,但我得到以下错误:
-JSONValue failed. Error is: Unexpected end of input
UPDATE-INFO
我试图解析所有检索到的数据(最终是JSON格式)并将所有Facebook好友详细信息保存到我的数据库中。所有执行检索和保存到数据库部分都是在Facebook Sync按钮操作中完成的。
需要一些帮助,任何帮助是极大的赞赏,感谢:)
你正在使用什么样的数据库服务?例如,如果您碰巧使用了Parse,则有一种预先构建的方法可以为您执行此类事情。 – jakenberg 2013-04-04 07:04:42
@ jsksma2我正在使用sqlite数据库,我需要单独从我的文章的屏幕截图中显示的json格式检索到的Facebook朋友详细信息中,然后将这些详细信息保存在数据库中 – 2013-04-04 07:13:55