AFN数据解析简介

 针对不同的网络请求,设置不同的数据解析器
{
    <
1> AFN 可以自动对服务器返回的数据进行解析,默认将服务器返回的数据当做 JSON 数据解析.
   
       
必须按照服务器返回的数据格式,选择不同的解析器.不然,就会报错,得不到想要的数据.
    {
       
// 创建网络请求管理者
        AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
       
       
// 1. 默认情况下,网络请求的管理者的解析器如下:
       
// 由于返回的是 JSON 数据,所以从服务器返回的数据:responseObject 的类型是 NSDictionary 或者 NSArray
        mgr.responseSerializer = [AFJSONResponseSerializer serializer];

       
       
// 2. 如果服务器返回的是 XML 数据,那么必须设置网络请求管理者的解析器类型如下:
       
// 这时,服务器返回的数据 responseObject 的数据类型是 NSXMLParser
        mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];
       
       
// 3. 如果服务器返回的是 data(比如:文件数据),这时需要告诉 AFN 不要去解析服务器返回的数据,保持原来的 data 数据就可以了.
        mgr.responseSerializer = [AFHTTPResponseSerializer serializer];

    }
   
    <
2> 需要特别注意的是,服务器返回的数据一定要跟 responseSerializer 相对应.对应关系如下:
    {
       
1> 服务器返回的是JSON数据
        * AFJSONResponseSerializer
        * AFHTTPResponseSerializer
       
       
2> 服务器返回的是XML数据
        * AFXMLParserResponseSerializer
        * AFHTTPResponseSerializer
       
       
3> 服务器返回的是其他数据
        * AFHTTPResponseSerializer
    }
}

你可能感兴趣的:(AFN数据解析简介)