AFNetworking3.x Error Code:3840

Error: Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}

解决办法:

  • 设置请求管理者,因为传递过去和接收回来的数据都不是json类型的,所以在这里要设置为AFHTTPRequestSerializer和AFHTTPResponseSerializer
manager.requestSerializer = [AFHTTPRequestSerializer serializer];// 请求
manager.responseSerializer = [AFHTTPResponseSerializer serializer];// 响应
  • 在success中将responseObject转换为一个字符串
//转码
 NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
  • 整体代码如下:
 ///AFNetworking 3.x
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    
    manager.requestSerializer = [AFHTTPRequestSerializer serializer];// 请求
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];// 响应
    
    [manager POST:urlString parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) {
        
        //转码
        NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];

        
        NSLog(@"JSON: %@", string);
        
        
    } failure:^(NSURLSessionTask *operation, NSError *error) {
        
        NSLog(@"Error: %@", error);
        
        
    }];

推荐阅读更多精彩内容

  • Correctness AdapterViewChildren Summary: AdapterViews can...
    MarcusMa阅读 8,547评论 0 6
  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 7,747评论 0 23
  • NAME dnsmasq - A lightweight DHCP and caching DNS server....
    ximitc阅读 2,298评论 0 0
  • 好久都没有出门了,上一次出行还是2013年去南京,这之后基本上就没有出去过,最多去一次市里,平常就是在家附近逛一逛...
    杨家有女阅读 71评论 0 0
  • 现在明白,原来每个人都不止你看到的那一面,人不是多变的,是他本来就有很多个他,而你看到的只是其中的一面。 ...
    开开停停阅读 400评论 0 1