我试图将JSON数据解析到collectionView,但我遇到了错误JSON序列化期间出错:无法读取数据,因为数据的格式不正确。
这是我的型号
struct BaseModel : Codable{
var status : String?
var data : [Post]?
struct Post : Codable {
let _id : String?
let name : String?
let icons : String?
let createdAt : String?
let updatedAt : String?
let __v : Int?
let id : String?
enum CodingKeys: String, CodingKey {
case _id = "_id"
case name = "name"
case icons = "icons"
case createdAt = "createdAt"
case updatedAt = "updatedAt"
case __v = "__v"
case id = "id"
}
}
}
这是一些代码
var places: [BaseModel]?
func apicall() {
let url = URL(string: "http://34.335.360.24/api/category/list")!
URLSession.shared.dataTask(with: url) { (data, response, error) in
if error == nil {
do {
let responseData = try JSONDecoder().decode(BaseModel.self, from: data! )
self.places = responseData // get error on this line
} catch {
print("Error during JSON serialization: (error.localizedDescription)")
}
}
}.resume()
}
我在do语句中出错->无法将类型"BaseModel"的值分配给类型"[BaseModel]?">
试试这个
let responseData = try JSONDecoder().decode([BaseModel].self, from: data!)
var places: [BaseModel]?
将以上行更改为
var places: BaseModel?