swift 4:无法解析 JSON 响应

杰格拉沃斯

我对 Swift 和 IOS 开发非常陌生......

我正在使用 Alamofire 和 SwityJSON 发布到 API 端点进行身份验证,并且我故意输入错误的凭据以向用户编码指示。

Alamofire.request(API_URL, method: .post, parameters: parameters)
            .responseJSON {
            response in
            if response.result.isSuccess {
                let rspJSON: JSON = JSON(response.result.value!)

                if JSON(msg.self) == "Invalid Credentials" {
                    let alert = UIAlertController(title: "Error", message: "Those credentials are not recognized.", preferredStyle: UIAlertControllerStyle.alert)
                    alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler:{(action) in self.clearLogin()}))

                    self.present(alert, animated: true, completion: nil)

                }
                else {
                    print(rspJSON)
                }
            }
            else {
                print("Error \(response)")
            }
        }

打印(rspJSON)的输出是

{“msg”:“无效的凭据”}

所以我希望 if JSON(msg.self) == "Invalid Credentials" 条件会命中,但显然这不是因为 print() 语句的输出可见并且看不到警报。

任何建议将不胜感激。

雅利安·夏尔马

在解析你的 JSON 时,总是在字典中找到响应的键。就像在这种情况下,您想要 'msg' 的值,您必须使用解析

if let message = res["msg"] as? String {}

作为?字符串将响应转换为预期的数据类型。

Alamofire.request(API_URL, method: .post, parameters: parameters).responseJSON {
        response in
        if let res = response.result.value as? NSDictionary {
            if let message = res["msg"] as? String {
                if message == "Invalid Credentials" {
                    let alert = UIAlertController(title: "Error", message: "Those credentials are not recognized.", preferredStyle: UIAlertControllerStyle.alert)
                    alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler:{(action) in self.clearLogin()}))
                    self.present(alert, animated: true, completion: nil)
                }
            }
        }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法解析Json响应

来自分类Dev

无法解析 JSON 响应

来自分类Dev

在Swift中使用Alamofire解析JSON响应

来自分类Dev

在Swift / iOS中解析JSON响应

来自分类Dev

在Swift中使用Alamofire解析JSON响应

来自分类Dev

使用 Swift 4 Decodable 的 JSON/简单文本解析服务器响应

来自分类Dev

Alamofire,Swift 2.0,SwiftyJSON:将响应主体解析为JSON

来自分类Dev

如何在 Swift 中解析这个 JSON 响应

来自分类Dev

Swift 4 Json 解析

来自分类Dev

无法在 swift4 中使用 Almofire 从 JSON 响应中提取令牌

来自分类Dev

无法解析数组 JSON 解码器 Swift 4

来自分类Dev

Spring RestTemplate无法解析JSON响应

来自分类Dev

无法将curl响应解析为json

来自分类Dev

无法解析Jmeter中的json响应

来自分类Dev

无法在Android中解析复杂的JSON响应

来自分类Dev

无法解析RestTemplate接收到的JSON响应

来自分类Dev

无法解析JSON REST API响应

来自分类Dev

IvoryCKEditorBundle 上传图片无法解析 JSON 响应

来自分类Dev

无法用python解析json响应

来自分类Dev

从HTTP响应解析JSON

来自分类Dev

解析Json响应

来自分类Dev

Qt解析JSON响应

来自分类Dev

解析Twitter json响应

来自分类Dev

从JSON响应解析

来自分类Dev

解析YahooWeather JSON响应

来自分类Dev

从HTTP响应解析JSON

来自分类Dev

OPENJSON,解析 JSON 响应

来自分类Dev

解析嵌套的 JSON SWIFT 4

来自分类Dev

无法拆分json响应?