首页 > Web开发 > 详细

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

时间:2015-03-11 13:04:46      阅读:441      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!