码迷,mamicode.com
首页 > Web开发 > 详细

AFNetWorking同时解析MsgPack和JSON等多种返回数据

时间:2015-03-11 13:07:48      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

最近项目遇到一种情况就是,为了减少流量,服务器的正确返回数据会用MsgPack格式进行返回,而错误数据或者网络错误则会以JSON数据格式返回.

首先标准的AFNetWorking是不能解析MsgPack数据格式的,需要加入相应的三方库, 而AFNetWorking的大牛作者为我们提供了两个库,可以很方便的加入进来:

如果用CocoaPod管理三方库, 在Podfile中加入以下两行,这样两个库就加入到工程中了:

pod 'AFMsgPackSerialization', '~> 0.0.1'
pod 'MsgPackSerialization', '~> 0.0.1'
如果手动管理,则需要下载这两个库放入工程中.

第二步就是要根据返回的格式动态解析

AFHTTPRequestOperationManagerresponseSerializeracceptableContentTypes进行设置

我自定义了一个Manager的子类进行数据请求和解析,所以代码如下:

//根据返回类型解析数据
        self.responseSerializer = [AFCompoundResponseSerializer compoundSerializerWithResponseSerializers:@[[AFMsgPackResponseSerializer serializer],[AFJSONRequestSerializer serializer]]];
        self.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/x-msgpack", @"application/json", nil];


顺利达到要求, 不管什么格式返回,都能解析和显示了.

AFNetWorking同时解析MsgPack和JSON等多种返回数据

标签:

原文地址:http://blog.csdn.net/lcl130/article/details/44195359

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!