iOS Swift Alamofire JSON 响应将布尔值返回为“1”或“0”
iOS Swift Alamofire JSON Response Returning Bool Values as `1` or `0`
在 alamofire 响应中,我 returning 了一些 Bool
值。但它 return 作为 0
或 1
而不是 true
或 false
。如何使 Alamofire JSON 响应 return 为 true
或 false
。这是我试过的代码:
Alamofire.request(baseurl, method: .get,encoding: JSONEncoding.default).responseJSON { response in
let statuscode = response.response?.statusCode
switch response.result
{
case .success(_):
if ( statuscode == 200)
{
let JSON = response.result.value!
// I'm having some values like `isUserRegistered` is `true` or `false`. But it return as `0` or `1`.
}
case .failure(let error):
print("Request Failed With Error:\(error)")
}
}
你可以试试类型转换
let JSON = response.result.value! as Bool
为Swift3
您可以将其转换为布尔值,如下所示:
要将您的特定字符串值转换为布尔值,您可以使用此扩展程序
extension String {
func toBool() -> Bool? {
switch self {
case "True", "true", "yes", "1":
return true
case "False", "false", "no", "0":
return false
default:
return nil
}
}
}
并且可以如下使用
var mySting = "0"
var myBool = myString.toBool()
在 alamofire 响应中,我 returning 了一些 Bool
值。但它 return 作为 0
或 1
而不是 true
或 false
。如何使 Alamofire JSON 响应 return 为 true
或 false
。这是我试过的代码:
Alamofire.request(baseurl, method: .get,encoding: JSONEncoding.default).responseJSON { response in
let statuscode = response.response?.statusCode
switch response.result
{
case .success(_):
if ( statuscode == 200)
{
let JSON = response.result.value!
// I'm having some values like `isUserRegistered` is `true` or `false`. But it return as `0` or `1`.
}
case .failure(let error):
print("Request Failed With Error:\(error)")
}
}
你可以试试类型转换
let JSON = response.result.value! as Bool
为Swift3
您可以将其转换为布尔值,如下所示:
要将您的特定字符串值转换为布尔值,您可以使用此扩展程序
extension String {
func toBool() -> Bool? {
switch self {
case "True", "true", "yes", "1":
return true
case "False", "false", "no", "0":
return false
default:
return nil
}
}
}
并且可以如下使用
var mySting = "0"
var myBool = myString.toBool()