【问题标题】:loop result from alamofire service in swift 3swift 3中alamofire服务的循环结果
【发布时间】:2018-04-09 09:10:09
【问题描述】:

我正在使用 alamofire 和 promiseKit,我想将结果作为 JSON 返回,这是我的代码:

Services.objServices.ServLogin(auth: auth_dato).then{
            data -> Void in
            print(data)
            SVProgressHUD.dismiss()
            UIApplication.shared.endIgnoringInteractionEvents()
            }.catch{
                error -> Void in
                SVProgressHUD.dismiss()
                UIApplication.shared.endIgnoringInteractionEvents()
            }

func ServLogin(auth: String) -> Promise<String>{
        return Promise<String>{
            fullfil,reject -> Void in
            return Alamofire.request(
                Constants.api_url+"login",
                headers: ["Authorization":"Basic "+auth]).responseString{
                response in
                switch(response.result){
                case .success(let data):
                    fullfil(data)
                case .failure(let error):
                    reject(error)
                }
            }
        }
    }

现在我得到了这个结果:

{
  "status": true,
  "data": {
    "usuarios": [
      {
        "id": 1,
        "username": "user",
        "password": "0012",
        "nombres": "Diego",
        "apellidos": "Moreno",
        "estado_user": 1
      }
    ]
  }
}

我现在想如何获得状态值和用户的名称? 我正在尝试这个print(data["status"]),但我得到了这个错误:

不能用索引类型为“String”类型的值下标 “字符串”

提前致谢

【问题讨论】:

  • 让 status = data?.object(forKey: "status") 试试这个

标签: swift3 alamofire promisekit


【解决方案1】:

我建议你使用https://github.com/SwiftyJSON/SwiftyJSONLibrary,它使解析json变得非常容易。

let json = JSON(data)
let status = json["status"].boolValue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-09
    • 2017-06-04
    • 2018-01-19
    • 1970-01-01
    • 2017-07-25
    相关资源
    最近更新 更多