2017-06-12 96 views
-1

在alamofire響應中,我返回一些Bool值。但它返回爲01而不是truefalse。如何使Alamofire JSON響應將其返回爲truefalse。這是我試過的代碼:iOS Swift Alamofire JSON響應將Bool值作爲'1'或'0'返回

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)") 
    } 
} 
+0

使用它,你能告訴你的迴應? –

回答

0

你可以嘗試類型轉換

let JSON = response.result.value! as Bool 
0

對於斯威夫特3

你可以把它轉換成布爾爲如下:

要轉換您的特定字符串值爲Bool,您可以使用此擴展名

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() 
+0

得到這個錯誤:'不能將'__NSSingleEntryDictionaryI'(0x11327d210)類型的值轉換爲'NSNumber'(0x112884488)。' –

+0

不是所有的值都是bool我在那個響應中有字符串,Int和數組值 –

+0

@KavinKumarArumugam請看到更新的答案 –