无法将类型 '__NSDictionaryI' 的值强制转换为'NSData'



我正在尝试解码以下数据:

AF.upload(postData!, to: loginUrlString, headers: postmanManager.headers).responseJSON { response in
switch response.result {
case .success(let value):
print(value)
do {
let results = try JSONDecoder().decode(User.self, from: value as! Data)
DispatchQueue.main.async {
let id = results.Usuario[0].Id
let name = results.Usuario[0].Name
let userInfo = UserModel(Id: id, firstName: name)
print(userInfo)
}
} catch {
print(error)
}
case .failure(let error):
print(error)
}
}

User对象属于以下结构体:

struct User: Codable {
let Usuario: [UserData]
}
struct UserData: Codable {
let Id: Int
let Name: String
}

我试着查找答案,从我所理解的,我试着改变value as! Datavalue as! [String: Any],但我得到另一个错误:

Cannot convert value of type '[String : Any]' to expected argument type 'Data'

我还可以尝试改变什么?谢谢你的帮助!

您使用了错误的响应类型。

代替

.responseJSON

.responseData

函数名和变量名用小写字母开头

最新更新