NSJsonSerialzation 未解析来自 Facebook 的结果 - Cocoa 错误 3840 [重复]
Posted
技术标签:
【中文标题】NSJsonSerialzation 未解析来自 Facebook 的结果 - Cocoa 错误 3840 [重复]【英文标题】:NSJsonSerialzation not parsing results from Facebook - Cocoa error 3840 [duplicate] 【发布时间】: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 运行它,你会明白我的意思。
【参考方案1】:
实际上阅读文档可能会有所帮助。
@param result The result of the request. This is a translation of
JSON data to `NSDictionary` and `NSArray` objects. This
is nil if there was an error.
它自己解析一切,我什至不需要这样做。所以它返回有效的 NSDictionary 或 NSArray。
【讨论】:
以上是关于NSJsonSerialzation 未解析来自 Facebook 的结果 - Cocoa 错误 3840 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
未解析的符号:来自 Emscripten 的 llvm_trap
MSVC 中的链接错误 LNK2019,带有 __imp__ 前缀的未解析符号,但应该来自静态库