我想在项目中更具体地使用 AFNetworking AFJSONRequestOperation 以允许轻松的异步调用。我很快尝试使用来自AFNetworking GitHub Page的示例代码
NSURL *url = [NSURL URLWithString:@"https://alpha-api.app.net/stream/0/posts/stream/global"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request
success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
NSLog(@"App.net Global Stream: %@", JSON);
}
failure:nil];
[operation start];
效果很好,但是当我使用 MetOffice Datapoint 的 URL 时它崩溃了,我相信这可能是因为 JSON 提要的编码类型NSISOLatin1StringEncoding
导致了问题NSJSONSerialization
我目前处理的方式是
NSString *string = [NSString stringWithContentsOfURL:kMetOfficeAllSites encoding:NSISOLatin1StringEncoding error:&error];
NSData *metOfficeData = [string dataUsingEncoding:NSUTF8StringEncoding];
id jsonObject = [NSJSONSerialization JSONObjectWithData:metOfficeData options:kNilOptions error:&error]
但是如何使用 AFJSONRequestOperation 处理这种情况?
提前致谢