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
    }
}
web

相關文章
相關標籤/搜索