如何解决Swift JSON 对象解码错误怎么写才正确?
我有一个数据解码错误。如何正确书写?
typeMismatch(Swift.Array,Swift.DecodingError.Context(codingPath: [],debugDescription: "预期解码数组,但找到了字典。",underlyingError: nil))
我的 JSON 对象:
struct LeagueDocument: Codable {
var id: LeagueId
var name: LeagueName
var area: Area
var startDate: String
var endDate: String
init(id: LeagueId,name: LeagueName,area: Area,startDate: String,endDate: String) {
self.id = id
self.name = name
self.area = area
self.startDate = startDate
self.endDate = endDate
}
}
enum Area: String,Codable {
case POLAND,ENGLAND,FRANCE,SPAIN,GERMANY,ITALY,EUROPE,UEFA_CHAMPIONS_LEAGUE,EUROPE_LEAGUE
}
我从服务器得到的 JSON:
[
{
"id": "ba4ddfd6-cb91-4ea7-853d-79be89917445","name": "Liga 1 ","area": "POLAND","startDate": "2021-02-28","endDate": "2022-02-28"
},{
"id": "4061b62b-dd57-4916-adf4-e0874ec767b1","name": "Liga 2","startDate": "2021-02-01","endDate": "2021-05-11"
}
]
我的代码:
func getAllActiveLeagues(completion: @escaping ([LeagueDocument]) -> Void) {
(...)
URLSession.shared.dataTask(with: request) { (data,response,error) in
guard error == nil else { print(error!.localizedDescription); return }
if data != nil {
do {
let decodedData = try decoder.decode([LeagueDocument].self,from: data!)
completion(decodedData)
} catch {
print(error)
}
} else {
print("Data is nil")
}
}.resume()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。