无法将类型“__NSDictionaryI”的值转换为 'NSData'
Could not cast value of type '__NSDictionaryI' to '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! Data
更改为 value as! [String: Any]
,但我收到另一个错误:
Cannot convert value of type '[String : Any]' to expected argument type 'Data'
我还能尝试改变什么?感谢您的帮助!
您使用了错误的响应类型。
替换
.responseJSON
和
.responseData
并且请以小写字母开头的函数和变量命名。
我正在尝试解码以下数据:
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
并且请以小写字母开头的函数和变量命名。