当我打印 self.getTokenBalancesModel 时,它给了我解码失败的错误。我做错了什么?
视图模型
import Foundation
import Alamofire
final class TokenBalancesClassAViewModel: ObservableObject {
@Published var getTokenBalancesModel: [GetTokenBalancesItemsModel] = [GetTokenBalancesItemsModel]()
func makeApiRequest() {
let url = "https://api.covalenthq.com/v1/1/address/0x726A73081C4134b2f639b821377482c71864EBc8/balances_v2/?&key=ckey_4eeea29a22c14701a9844f01151"
AF.request(url).responseData(completionHandler: { data in
if let apiJsonData = try? JSONDecoder().decode(TokenBalancesModel.self,from: data.data!){
self.getTokenBalancesModel = apiJsonData.data.items
print(self.getTokenBalancesModel)
} else {
print("Decoding failed")
}
})
}
}
模型
struct TokenBalancesModel: Codable,Hashable {
let data: TokenBalancesDataModel
let error: Bool
}
struct TokenBalancesDataModel: Codable,Hashable {
let address: String
let quote_currency: String
let items: [TokenBalancesItemsModel]
}
struct TokenBalancesItemsModel: Codable,Hashable {
let contract_name: String
let contract_ticker_symbol: String
// let logo_url: String
let balance: Int
let quote_rate: Float
let quote: Float
}
它显然在解码部分:
if let apiJsonData = try? JSONDecoder().decode(TokenBalancesModel.self,from: data.data!){
我哪里出错了,但我不明白为什么