【问题标题】:Having issues with accessing values from a SwiftyJSON block从 SwiftyJSON 块访问值时遇到问题
【发布时间】:2017-03-11 18:53:32
【问题描述】:

这是我的 ALamofire 查询返回的 JSON。

{
    "status": "",
    "minute": "5",
    "seconds": "54"
}

下面是我用来处理返回的 JSON 的函数。我无法从上面的 JSON 中提取分钟和秒值。我对分钟和秒值特别感兴趣。

func returnTime(){
    if let test22 = self.userdefaults.string(forKey: "fiveholdid"){
        Alamofire.request(ticketingDets,method:.post,parameters: ["command":"remaining","id":test22]).validate().responseString{
            responseData in
            switch responseData.result{

            case .success(let jJson):
               print(jJson)
                self.timerJSON = JSON(jJson)
                if let status =  self.timerJSON["status"].string{
                    //print("STATUS" + status)
                    if(status=="expired"){
                        print("In Timer Expired")
                        self.throwAlert(title: "RESERVATION", message: "Your Reservation has Expired. Please try again.", delay: 3.0)
                        self.userdefaults.removeObject(forKey: "fiveholdid")
                    }
                    }else{

                    var minute = self.timerJSON["minute"].stringValue
                    print(minute)
                    var second = self.timerJSON["seconds"].stringValue
                    print("second"+String(second))
                    var secondd = ""
                    if((second.characters.count) < 2){
                        var secondd = "0" + String(second)
                    }else{
                        var secondd = String(second)
                    }
                    self.timeremaining.text = String(minute)+":"+String(secondd)+" remaning"

                }

                //self.datesLabel.text = jJson

            case .failure(let error):
                print(error)
            }

        }
}

【问题讨论】:

  • 错误是什么?
  • 一切都返回为零/不存在

标签: ios json swift swifty-json


【解决方案1】:

所以答案是这样的:

        Alamofire.request(ticketingDets,method:.post,parameters: ["command":"remaining","id":test22]).validate().responseString{

    Alamofire.request(ticketingDets,method:.post,parameters: ["command":"remaining","id":test22]).validate().responseJSON{

所以我必须告诉 AF 我正在接收 JSON 而不仅仅是字符串...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-11
    • 2015-03-23
    相关资源
    最近更新 更多