【发布时间】:2016-12-20 14:31:33
【问题描述】:
我正在使用Alamofire 在我的Swift 应用程序上执行我的API 请求,它运行良好,但我还想检测JSON 响应何时等于null。
我尝试将响应与nil 和NSNull 进行比较,但这些都不适合我。我也尝试过使用JSON.empty,但它似乎也不起作用。此外,我在switch 应用程序上创建了一个default 选项,试图捕捉不是success 或failure 的选项。
实际上我只维护了JSON.empty 选项,但它从未进入 else 语句。
这是我现在拥有的代码:
Alamofire.request(encodedUrl!, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: nil).responseJSON { response in
switch(response.result) {
case .success(_):
if let JSON = response.result.value as? [[String : AnyObject]]{
if JSON.isEmpty == false{
//Here the code if the request returns data
}else{
//Here I wanted to use the code if null is retrieved
}
}else{
//The JSON cannot be converted
}
break
case .failure(_):
//Failure
break
}
}
如何处理null 对Alamofire 的回复?
提前致谢!
【问题讨论】:
-
为什么要从api返回空响应?返回空响应会好得多?像 { 响应:[ ] }
-
@BehranKankul 我的意思是有时 API 返回
null值,我需要成为那个值,因为它也被其他应用程序使用。我只想这样,例如,如果响应是null,检测它并向用户显示他输入应用程序的数据错误或没有与之关联的信息的消息。 -
让您的服务器返回 notFound 或 unprocessableEntity 的状态代码,然后在您的响应中检查响应代码。如果是其中之一,您可以向用户显示存在问题的消息
标签: json swift swift3 alamofire