2016-09-29 2 views
0

Пытается разобрать простые данные JSON от Instagram, но застрял в этой проблеме. Данные JSON возвращаются усеченными в приложении, но все в порядке через браузер на моем mac.Данные API-интерфейса Instagram API усекаются через приложение, но ok в браузере

Пытался сделать это много разных способов, но все-таки.

Первый способ:

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

Абсолютно понятия не имею, что это неправильно.

ответ

0

Это не усечено. В журнале просто отображается только часть вывода. Если бы он был действительно усечен, он бы вообще не разбирался или у него было бы меньше записей. Но данные разобрались. Нет ничего плохого в 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); 
} 
+0

Спасибо! Действительно, новый XCode 8 не показывает весь результат json при работе на реальном устройстве, но при запуске на симуляторе - показывает весь. Мне было очень странно. Подумайте, можно отключить эту функцию где-то в настройках. –

Смежные вопросы