我有以下JSON响应。目前,我的POST请求会在我的控制台输出中给我“用户名”。然而,当我运行应用程序时,我的alertView(在handlingAuthentication中找到,链接提供)返回nil。JSON处理错误:输出未正确提取
{
"username" : [
"The username field is required."
],
"password" : [
"The password field is required."
]
}
我如何:
- 得到字符串“username字段需要”
- 字符串传递给我的alertview的方法handlingAuthentication
- 获得多个字符串从JSON响应(例如,在AlertView中打印:“密码字段是必需的下一行用户名字段是必需的。”)
这是我的POST请求
import Foundation
import Alamofire
import SwiftyJSON
import RealmSwift
class Login {
init(userName: String, passWord: String) {
Data.sharedInstance.userName = userName
Data.sharedInstance.passWord = passWord
}
// call this method to login
func getRequest() {
Alamofire.request(.POST, Data.todoEndpoint, parameters: ["username": Data.sharedInstance.userName!, "password": Data.sharedInstance.passWord!])
.responseJSON { response in
var errorFound = Bool()
var errorMessage = String()
if let result = response.result.value
{
let value = JSON(result)
var outcome = String()
//No username
if value["password"] == nil && value["message"] == nil && value["name"] == nil
{
errorFound = true
for output in value {
errorMessage = output.0
print(errorMessage)
}
}
}
else
{
print("JSON data is nil.")
}
let errorDict = ["error": errorFound, "message": errorMessage]
NSNotificationCenter.defaultCenter().postNotificationName("errorPresent", object:errorDict)
}
}
}
的地方,我显示我的警告消息的代码是在这里https://codeshare.io/VilQl
对于我的POST请求,我怎么了“的用户名字段是必需的“?我曾尝试输出[“用户名”],但我会被抛出一个“类型元素没有下标成员”的错误。 – noobdev
我试过这样做,但我会被抛出一个“不能下标类型'JSON'的值的类型'字符串'的索引”错误 – noobdev
@noobdev:我不好,你可以尝试我更新的答案:) –