AFNetworking 在失败块中获取 responseObject
Posted
技术标签:
【中文标题】AFNetworking 在失败块中获取 responseObject【英文标题】:AFNetworking get responseObject in failure block 【发布时间】:2015-06-26 10:53:41 【问题描述】:我是GET
来自服务器的json数据,但是json数据有一个换行符“\n”,所以我得到了错误:
Error Domain=NSCocoaErrorDomain Code=3840 "无法执行该操作 完全的。 (Cocoa 错误 3840。)”(周围未转义的控制字符 字符 2333.) UserInfo=0x7fa054a02ab0 NSDebugDescription=未转义 字符 2333 周围的控制字符。
所以我想找到损坏的 json 数据在哪里,先对其进行转义,然后再对其进行解析。但是我找不到响应数据在哪里。
有什么帮助吗?
已编辑:
if let d = error.userInfo
println(d)
println(d[AFNetworkingOperationFailingURLResponseDataErrorKey])
我在失败块中尝试过这个,d[AFNetworkingOperationFailingURLResponseDataErrorKey] prints nil
【问题讨论】:
【参考方案1】:可以从失败块的NSError中获取响应数据:
NSData *errorData = [error.userInfo objectForKey:AFNetworkingOperationFailingURLResponseDataErrorKey];
由此,您可以将其转换为 NSString 或其他任何您需要对其进行转义并进行适当处理的东西。
【讨论】:
以上是关于AFNetworking 在失败块中获取 responseObject的主要内容,如果未能解决你的问题,请参考以下文章
AFNetworking 2.0 从故障块中的代码 400 获取 JSON
以 JSON 字符串数组形式获取 AFNetworking 响应的结果
在故障块 AFNetworking 3.0 上获取 responseObject
为啥这个 AFNetworking 块中的变量都显示为 nil(快速)?