Instagram API json 数据通过应用程序被截断但在浏览器中正常
Instagram API json data is truncated via app but ok in browser
尝试解析来自 Instagram 的简单 JSON 数据,但遇到了这个问题。
JSON 数据 returns 在应用程序中被截断,但在我的 mac.
上通过浏览器一切正常
尝试了很多不同的方法,但都是一样的。
第一种方式:
NSURL *instaGetRecentOwnerPhotosURL = [NSURL URLWithString:@"https://api.instagram.com/v1/users/self/media/recent/?access_token=MY_PROPER_TOKEN"];
NSData *jsonData = [NSData dataWithContentsOfURL:instaGetRecentOwnerPhotosURL];
另一种方式,异步:
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 数据 returns 这样的:
screenshot of truncated json
完全不知道哪里出了问题。
它没有被截断。日志仅显示部分输出。如果它真的被截断了,它要么根本不会被解析,要么只会有更少的条目。但是数据确实解析了。 json
.
没有错
顺便说一句 - 进行适当的错误检查:
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);
}
尝试解析来自 Instagram 的简单 JSON 数据,但遇到了这个问题。 JSON 数据 returns 在应用程序中被截断,但在我的 mac.
上通过浏览器一切正常尝试了很多不同的方法,但都是一样的。
第一种方式:
NSURL *instaGetRecentOwnerPhotosURL = [NSURL URLWithString:@"https://api.instagram.com/v1/users/self/media/recent/?access_token=MY_PROPER_TOKEN"];
NSData *jsonData = [NSData dataWithContentsOfURL:instaGetRecentOwnerPhotosURL];
另一种方式,异步:
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 数据 returns 这样的: screenshot of truncated json
完全不知道哪里出了问题。
它没有被截断。日志仅显示部分输出。如果它真的被截断了,它要么根本不会被解析,要么只会有更少的条目。但是数据确实解析了。 json
.
顺便说一句 - 进行适当的错误检查:
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);
}