首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可汗学院主题树不适用于-Objective C和AFNetworking 2.0

可汗学院主题树不适用于-Objective C和AFNetworking 2.0
EN

Stack Overflow用户
提问于 2014-01-14 11:53:27
回答 1查看 249关注 0票数 0

我正在尝试在我的iOS应用程序中调用khan academy api。我使用AFNetworking类进行api调用。下面是我的代码:

代码语言:javascript
复制
           AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.requestSerializer = [AFJSONRequestSerializer serializer];

[manager GET:@"http://www.khanacademy.org//api/v1/topictree" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
    [activityIndicator stopAnimating];
    NSLog(@"no error");
    for (NSString *key in [responseObject allKeys]) {
        NSLog(@"%@", [responseObject objectForKey:key]);
    }


} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"error");
    [activityIndicator stopAnimating];
    NSLog(@"Error Khan: %@", [error localizedDescription]);
}];

当我访问http://www.khanacademy.org//api/v1/topictree时,它是一个非常长的列表。我有预感这可能是JSON解析,因为我只得到了一个NSDictionary。正如您在上面的代码中看到的,我使用Fast Enumeration来查看值和键。

如果这是正确的解析。我不知道应该使用哪些键来获取所有主题的列表。然后,当用户点击我想要显示视频列表的主题时,我需要访问特定于mp4的视频下载url。我可以在playlist方法中这样做,但是它已经被弃用了。

这样做的目的是能够查看一个列表,如果是主题,后面是主题视频,然后是视频描述,然后是mp4格式的可下载url。

我还收到了error Error Khan:

操作无法完成。(可可错误3840。)

但有时它也会起作用。

感谢所有的帮助。

提前谢谢你,

乔尔

EN

回答 1

Stack Overflow用户

发布于 2014-01-16 01:02:42

该错误代码表示JSON text did not start with array or object and option to allow fragments not set.

因为来自服务器的响应json不是退休数组或对象的有效json。尝试使用

代码语言:javascript
复制
NSJSONReadingAllowFragments

NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options: NSJSONReadingAllowFragments error:&error];


NSLog(@"response: %@ error: %@", json, error);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21105809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档