Instagram API json数据通过app截断,但在浏览器中确定

时间:2016-09-29 22:13:39

标签: objective-c json api instagram-api nsjsonserialization

尝试解析来自Instagram的简单JSON数据,但坚持这个问题。 JSON数据在应用程序中被截断,但是我的mac上的浏览器一切正常。

试图做很多不同的方式,但都是一样的。

第一种方式:

NSURL *instaGetRecentOwnerPhotosURL = [NSURL URLWithString:@"https://api.instagram.com/v1/users/self/media/recent/?access_token=MY_PROPER_TOKEN"];
NSData *jsonData = [NSData dataWithContentsOfURL:instaGetRecentOwnerPhotosURL];

另一种方式,assync:

NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://api.instagram.com/v1/users/self/media/recent/?access_token=MY_PROPER_TOKEN"]];
__block NSDictionary *json;
[NSURLConnection sendAsynchronousRequest:request
                                   queue:[NSOperationQueue mainQueue]
                       completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
                           json = [NSJSONSerialization JSONObjectWithData:data
                                                                  options:0
                                                                    error:nil];
                           NSLog(@"Async JSON: %@", json);
                       }];

JSON数据返回如下: screenshot of truncated json

绝对不知道出了什么问题。

1 个答案:

答案 0 :(得分:1)

它没有被截断。日志只显示部分输出。如果它真的被截断了,它或者根本就不会被解析,或者它只会有更少的条目。但数据确实解析了。 json没有任何问题。

BTW - 进行适当的错误检查:

NSError *error = nil;
json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
if (json) {
    // Data is good. Work with 'json'
} else {
    NSLog(@"Unable to parse JSON. Error: %@", error);
}