簡単な非同期呼び出しを可能にするために、プロジェクトでAFNetworking、より具体的にはAFJSONRequestOperationを使用したいと思います。AFNetworkingGitHubPageのサンプルコードをすぐに使用してみました
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でこの状況をどのように処理しますか?
前もって感謝します