我正在使用私有api注册用户。
Api结构如下所示:
post data = {
"email": "",
"password": ""
}
------------------------------------------
return value = {
"result": True,
"message": "",
"token": ""
}我的代码是:
Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON)
.responseString { response in
guard response.result.error == nil else {
print(response.result.error!)
return
}
print(response.result.value)
if let value:String = response.result.value {
let post = JSON(value)
if let connection = post.dictionary {
let token = connection["token"]?.string
print(token)
}
}
}reponse.result.value返回一个HTML,我无法获得“结果”、“消息”和“令牌”值。我尝试了从github中找到的几种方法,但都没能成功。
编辑:
我设法从api: SUCCESS:{"message":“您已经注册了”、“结果”:false、"token":asdwasdasd}获得响应。
例如,我将如何获得“令牌”并保存它?
发布于 2016-04-07 15:20:53
为了保存令牌,我建议将其放入密钥链中。如果您熟悉NSUserDefaults,则密钥链的作用类似,只不过它为您存储的内容添加了一个安全层。(有关密钥链如何工作的更多信息,请参见苹果的密钥链文档)
通过苹果的API使用密钥链可能有点费解,所以我使用KeychainAccess库来给我一个更友好的API。UICKeyChainStore文档提供了一个关于如何使用库的非常简洁的教程,因此我将在那里参考您的实现(请参阅上面的KeychainAccess链接)。
发布于 2016-04-07 19:51:30
我找到了一个解决方案,现在它能像我想要的那样起作用.
Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON)
.responseJSON { response in
guard response.result.error == nil else {
print(response.result.error!)
return
}
if let json: NSDictionary = response.result.value as? NSDictionary {
let result = json["result"]!.stringValue
print(result)
let token = json["token"] as! String
print(token)
}
}https://stackoverflow.com/questions/36478769
复制相似问题