我正在尝试解码以下数据:
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! Data
到value as! [String: Any]
,但我得到另一个错误:
Cannot convert value of type '[String : Any]' to expected argument type 'Data'
我还可以尝试改变什么?谢谢你的帮助!
您使用了错误的响应类型。
代替
.responseJSON
.responseData
函数名和变量名用小写字母开头