如何使用iOS Objective-C中的AFNetworking库下载.json文件?

如何使用iOS Objective-C中的AFNetworking库下载.json文件?,ios,objective-c,json,web-services,afnetworking,Ios,Objective C,Json,Web Services,Afnetworking,我是iOS应用程序开发新手。我一直在从Amazon下载.json文件。我在stackoverflow和更多(,)中引用了以下链接,但它们对我没有帮助 我有一个扩展名为.json的文件,其中包含json结构化数据。在调用URL时,我需要文件的内容。我使用了NSURLConnection,它工作了。但我想让它工作使用网络 NSURL连接工作代码: NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"h

我是iOS应用程序开发新手。我一直在从Amazon下载.json文件。我在stackoverflow和更多(,)中引用了以下链接,但它们对我没有帮助

我有一个扩展名为.json的文件,其中包含json结构化数据。在调用URL时,我需要文件的内容。我使用了NSURLConnection,它工作了。但我想让它工作使用网络

NSURL连接工作代码:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://someamazon-url/folder/file.json"]];    NSURLConnection *connection;
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
  NSLog(@"response received");
  self.responseData = [[NSMutableData alloc] init];
}


-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{

[self.responseData appendData:data];

}

-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
NSDictionary *results =[NSJSONSerialization JSONObjectWithData:self.responseData options:kNilOptions error:nil];
NSLog(@"%@", results);
}
AFN网络代码不工作:

AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:url]];
[manager.requestSerializer setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; ///@"application/json"
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];

我知道上面的代码有一些错误。。请告诉我哪里出了问题?上述代码适用于所有其他Web服务。但由于这是一个文件,我没有得到什么错误是。。。请帮忙。。。我已经尝试了很多次,但没有任何效果

替换这一行
[manager.requestSerializer setValue:@“application/x-www-form-urlencoded;charset=UTF-8”forHTTPHeaderField:@“Content Type”]

由此

[manager.requestSerializer setValue:@"application/x-www-form-urlencoded; charset=UTF-8" forHTTPHeaderField:@"Content-Type"];
仍然不工作,然后从这个特定Web服务的代码中删除下面的行

manager.requestSerializer = [AFHTTPRequestSerializer serializer];
我找到了答案

我尝试了下面的代码,它成功了

NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://someamazon-url/folder/file.json"]];
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:data
                                                       options:kNilOptions
                                                       error:nil];
我刚刚执行了这三行,它成功了。。但我不知道这是一种正确的方法。但在这种情况下,因为它只是一个文件,我认为它是好的


如果您认为这不是正确的方法,请发表评论。

AFHTTPRequestOperationManager
GET:
方法中,您是否发现错误?这个街区叫什么<代码>失败
,那么
错误
参数是怎么说的?很抱歉没有发布错误消息:失败:^(AFHTTPRequestOperation*operation,NSError*error){NSLog(@“error:%@”,error);}]; 日志中的错误为:-NSUnderlyingError=0x16d8daf0“请求失败:不可接受的内容类型:应用程序/xml”您的错误取决于json服务器的工作方式。有时您的服务器由于某些原因而不接受您的请求。你能出示你的链接吗?我确信我能够用
AFNetworking
和您的链接编写代码