好的,所以我正在使用alamofire,而我传递的参数是有效的。这是到目前为止的代码:
Alamofire.request(.POST, "http://mywebservice.com", parameters: myparameters)
.response { (request, response, data, error) in
if(error != nil){
print("error= \(error)")
}else{
print("there was no error so far ")
print(data)
var json = JSON(data!)
print(json) //prints unknown
print(json["id"]) //prints null
}
}
}
我尝试了不同的方法,但到目前为止没有任何效果。我正在使用alamofire和swiftyjson,来自网络服务的响应json是:
{
"id": "432532gdsg",
"username": "gsdgsdg"
}
我想在成功的情况下分别打印两个值。我该怎么做?
您的问题来自此行:
var json = JSON(data!)
JSON()
SwiftyJSON的初始化程序可以接受多种类型的输入。
当您未在init中指定类型时,SwiftyJSON会尝试推断类型本身。
不幸的是,有时它会无声地失败,因为它会误解输入。
因此,将SwiftyJSON与NSData结合使用时,解决方案是为JSON初始化程序指定“ data:”参数:
var json = JSON(data: data!)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句