ios - AFNetworking responseObject 包含十六进制 - 我该如何检查?
问题描述
我正在开发一个应用程序和一个应用程序将与之对话的 API。我对开发应用程序方面很陌生!
尽管 API 应该始终返回有效的 JSON,但我想处理出现问题并返回 HTML 的情况(想想 DNS 搞砸了)。
我正在使用AFNetworking
并且self.sessionmanager
是AFHTTPSessionManager
现在,我的(非常简化的)代码说:
[self.sessionmanager GET:@"/app/api/v1/meetings/" parameters:params progress:^(NSProgress * _Nonnull downloadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if ([responseObject containsObject:@"status"]) {
// Do stuff
}
else {
// Do failure stuff
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
// Do failure stuff
return;
}];
问题是,如果我使用 HTML 页面而不是 JSON 到达成功函数,我会得到一个responseObject
十六进制的,当我调用时,containsObject
我会得到一个NSInvalidArgumentException
发送到实例的无法识别的选择器。
我尝试在调用周围放置一个@try @catch 块containsObject
,但它似乎没有捕捉到异常。
如何检查responseObject
JSON 响应中的对象是否有效,以避免在containsObject
需要时调用?
解决方案
推荐阅读
- javascript - Vue反应数组数据输出不同的值
- python - 链接嵌套收益
- javascript - 使用 Angular、HttpClient 和 Observables 避免回调地狱
- excel - 如何将 sumif 与 len 和 if 语句一起使用
- powershell - 无法使用 Powershell 中的选择对象将正确的数据导出到 .csv
- jquery - ColdFusion 在 jquery 中从 CFC 返回数据以构建相关的选择不起作用
- c# - 无法加载一种或多种请求的类型 - 但不是正常错误
- docker - docker-compose 未检测到本地图像
- python - Deleting Sub elements in a xml tree based on given attribute list
- vue.js - 从子组件中总结一个属性