2016-12-16 12 views
-1

ネストされた配列の値を取得する必要があります。ユーザーデータが必要です。トークンデータが必要です。セッション変数を自分のアプリケーションで使用できるように初期化する必要があるため、このデータが必要です。 ネストされた配列alamofire swift 3の値を取得

は、例えば、ユーザ名、fotografiaは、メインアレイにあるデータRCとMSGを得ることができたが、私は、ネストされた配列の値を取得できませんでした

["rc": 00, 
"user": { 
"__v" = 0; 
deviceId = ""; 
email = "[email protected]"; 
fullName = "SMITH JOHN "; 
lastName = "SMITH "; 
modifiedAt = "2016-12-16T06:08:58.856Z"; 
name = "JOHN "; 
photo = ""; 
provider = ""; 
"provider_id" = ""; 
status = 01; 
tel = 3333333333; 
typeUser = USER; 
username = "[email protected]"; 
}, "token": { 
"__v" = 0; 
"_id" = 585384e3ccc4; 
createdAt = "2016-12-16T08:10:03.407Z"; 
userId = 585384e3ccc4; 
value = Z4WedlAzhdkap; 
}, "msg": success] 




@IBAction func btnLogin(_ sender: Any) { 
    let gsUtil=GSUtil() 
    let user = txtUser.text! 
    let password = txtPass.text! 
    let credentialData = "\(user):\(password)".data(using: String.Encoding.utf8)! 
    let base64Credentials = credentialData.base64EncodedString(options: []) 
    let headers = ["Authorization": "Basic \(base64Credentials)"] 
    Alamofire.request(gsUtil.getCompleteURI()+"user/auth/", 
         method: .post, 
         parameters: nil, 
         encoding: URLEncoding.default, 
         headers:headers) 
     .validate() 
     .responseJSON { response in 
      if response.result.value != nil{ 
       let json = response.result.value as? [String: Any] 
       let rc=json?["rc"] 
       let msg=json?["msg"] 
       if rc as? String=="00" 
       { 
        self.showMessage(msg: msg as! String) 
       } 
      }else{ 
       self.showMessage(msg: "Error en los datos") 
      } 
    } 
    } 

答えて

0

私は本当に得ることはありません問題。あなたは(だけさらに一歩)何をする必要があるかやっすでにかなり多く:

私はif let秒の多くを使用して、すべての厄介なoptionalsを取り除くことから始めます:

if let json = input as? [String: Any] { 
    let msg = json["msg"] 
    if let rc = json["rc"] as? String, rc == "00" { 
     self.showMessage(msg: msg as! String) 
    } 
    if let user = json["user"] as? [String : Any] { 
     print(user) 
    } 
    if let token = json["token"] as? [String : Any] { 
     print(token) 
    } 
} else { 
    self.showMessage(msg: "Error en los datos") 
} 
関連する問題