AFN数据解析简介
2015-12-11 00:00
218 查看
摘要: 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
}
}
针对不同的网络请求,设置不同的数据解析器
{
<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
}
}
相关文章推荐
- NSURLSession详解
- NSCache深入浅出
- 位移枚举解析
- Microsoft.Aspnet.SingR2实例
- thread_ para
- linux 进程间通信 pipe
- linux 进程间通信 fifo
- linux 进程间通信 fifo_read
- linux 进程间通信fifo_write
- panic in gccgo
- discuz门户发布文章编辑名字用realname
- php开发工具 zend studio 12.5.1 中文版汉化
- 【嘉兴东臣php】HTML+CSS+JS基础学习周总结
- viewcontroller的跳转问题
- DB2 单ixf 恢复表数据
- python中通过main参数删除文件
- 怎样在iMindMap中添加分支
- 代理模式
- 最长LCS
- 线程间通信