【问题标题】:how to check "Success" key value in swift 3.0如何在 swift 3.0 中检查“成功”键值
【发布时间】:2016-11-29 07:04:24
【问题描述】:
Alamofire.request(webpath).responseJSON
{   response in
    //here check success key ???
}

我的 json 响应包含

{Message = "some message";
Success = True;}

如何直接从响应中获取 Success 键并检查 if 条件?是真是假

【问题讨论】:

  • 我相信你可以做到 if (response["Success"]){}; ?

标签: ios swift3 alamofire


【解决方案1】:
  1. 首先,您必须从响应中获取Result 对象。它是一个枚举,可以是successfailure
  2. 然后您必须将从success 值返回的Any 对象转换为字典。
  3. 现在您可以通过键访问该属性。

如下:

Alamofire.request(webpath).responseJSON { response in
    guard case .success(let rawJSON) = response.result else {
        // handle failure
        return
    }

    // rawJSON is your JSON response in an `Any` object.
    // make a dictionary out of it:
    guard let json = rawJSON as? [String: Any] else {
        return
    }

    // now you can access the value for "Success":
    guard let successValue = json["Success"] as? String else {
        // `Success` is not a String
        return
    }

    if successValue == "True" {
        // do something
    } else {
        // do something else
    }
}

【讨论】:

  • 您的解决方案是正确的,但在此之后我必须检查,如果 json["Success"] == "True" ,如何检查?
  • @Dharini 如果“成功”的值是字符串,我更新了答案。
【解决方案2】:

您可以检查如下:

let statusCheck = dicObj["Success"] as! Int

if statusCheck == 1{
    println("Success")
}
else{
    println("Failure")
}

【讨论】:

  • 在这种情况下,我将 response.result.value 作为字符串存储在 dicobj 中 let statusCheck = dicObj["Success"] as!内部不工作
  • 让 swiftyJsonVar = response.result.value!如果让 dicObj = swiftyJsonVar 为? NSDictionary { }
【解决方案3】:

你可以这样检索。

if let result = response.result.value {
     let JSON = result as! [String:Any]
      if JSON["success"] == 1
     {
         print("success")
      }

}

【讨论】:

  • if JSON["success"] == 1 显示错误,例如“二元运算符'=='不能应用于'Any?'类型的操作数和“诠释”“
  • 如果成功是布尔值if JSON["success"] as Bool == true {print("success")},请尝试这样。如果成功值为字符串if JSON["success"] as String == "true" {print("success")}
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多