JSON序列化期间的swift错误:无法读取数据,因为它的格式不正确



我试图将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?

最新更新