无法将类型 'DataResponse<Any>' 的值转换为预期的参数类型 'Data'
Cannot convert value of type 'DataResponse<Any>' to expected argument type 'Data'
我正在向网站发送一个简单的 post 请求,该网站发回 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 或任何一个库,所以我真的很想知道我需要做些什么来解决这个问题。
我想把账号和密码提取出来,分别存储在单独的变量中。我尝试按照其他教程进行操作,但没有成功。如果有人能帮助我,我将不胜感激。
您需要 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!)
}
我正在向网站发送一个简单的 post 请求,该网站发回 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 或任何一个库,所以我真的很想知道我需要做些什么来解决这个问题。
我想把账号和密码提取出来,分别存储在单独的变量中。我尝试按照其他教程进行操作,但没有成功。如果有人能帮助我,我将不胜感激。
您需要 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!)
}