【发布时间】:2013-07-30 19:52:07
【问题描述】:
我在我的 iOS 应用程序上使用 Facebook 进行身份验证,并使用以下方法获取提要。 当我检查它是否是有效的 JSON 对象时,它返回 true,但如果我尝试解析它,它会给我错误:
Mistake: The operation couldn’t be completed. (Cocoa error 3840.)
对此可以做些什么?这是来自服务器的内容,完全有效的 JSON - http://pastebin.com/ZwTnvi5g(通过 NSLog 得到结果)。
如何修复它以便 nsjsonserialization 正确解析它?
- (void) refreshButtonPressed
{
FBRequest *request = [[FBRequest alloc] initWithSession:FBSession.activeSession graphPath:@"me/feed"];
[request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSError *mistake;
BOOL can = [NSJSONSerialization isValidJSONObject:result];
NSLog(@"%d", can);
NSDictionary *first = [NSJSONSerialization JSONObjectWithData:result options:NSJSONReadingAllowFragments error:&mistake];
if (mistake) {
NSLog(@"Mistake: %@", [mistake localizedDescription]);
}
}];
}
【问题讨论】:
-
向我们展示一些实际的 JSON,而不是像您所说的那样,是大型字典中的
NSLog()。 -
@CodaFi - 这是此完成处理程序获取的 id 结果的 NSLog,但无法转换。我不知道如何获得比这更好的东西..
-
@CodaFi 它打印我在 pastebin 上提供的文本,就是这样,我没有剪切或添加任何东西
-
@Dvole 如果这是你得到的 JSON,那么它根本就无效。通过 JSON linter 运行它,你会明白我的意思。
标签: ios objective-c facebook-graph-api facebook-ios-sdk