我正在向网站发送一个简单的发布请求,该网站发送回如下所示的JSON:
{
Account = "blah blah";
Password = "blah blah";
}
这是请求。
@IBAction func submitButtonClicked(_ sender: Any){
AF.request("https://companywebsite.com", method: .post, parameters: parameters, encoding:JSONEncoding.default)
.responseJSON{ response in
let json = try? JSON(data: response)
}
}
我收到以下编译错误:
Cannot convert value of type 'DataResponse<Any>' to expected argument type 'Data'
我正在使用Alamofire发送请求,并使用SwiftyJSON对其进行解析。我以前从未使用过Swift或任何一个库,所以我真的很想知道我需要做什么来解决此问题。
我想提取帐户和密码以存储在单独的变量中。我尝试了其他教程,但没有成功。如果有人可以帮助我,我将非常感激。
答案 0 :(得分:1)
您需要responseData
而不是responseJSON
AF.request("https://companywebsite.com", method: .post, parameters: parameters, encoding:JSONEncoding.default)
.responseData { response in
guard let data = response.data else { return }
let json = try? JSON(data:data)
if let acc = json?["Account"].string {
print(acc)
}
if let pass = json?["Password"].string {
print(pass)
}
}
其他变体
Alamofire.request("https://companywebsite.com", method: .post, parameters: [:], encoding:JSONEncoding.default)
.responseJSON { response in
let json = try? JSON(response.result.value!)
}