从 SwiftyJSON 块访问值时遇到问题
Posted
技术标签:
【中文标题】从 SwiftyJSON 块访问值时遇到问题【英文标题】:Having issues with accessing values from a SwiftyJSON block 【发布时间】: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)
【问题讨论】:
错误是什么? 一切都返回为零/不存在 【参考方案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 而不仅仅是字符串...
【讨论】:
以上是关于从 SwiftyJSON 块访问值时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章