我正在使用以下代码将数据从服务器解码为 json。但是当它解析成json时。它引发以下错误
无法读取数据,因为它的格式不正确。
struct ExpoDecode: Codable {
var success: Bool?
var count: Int?
var type: String?
var results: [Expo]?
enum CodingKeys: String, CodingKey {
case success = "Success"
case count = "Count"
case type = "Type"
case results = "Results"
}
}
struct ExpoAsset: Codable {
var assetId: String?
var asseturl: String?
enum CodingKeys: String, CodingKey {
case assetId = "ExpoAssetId"
case asseturl = "AsstetUrl"
}
}
struct Expo: Codable {
var id: String?
var name: String?
var location: String?
var timing: String?
var expoAssets: [ExpoAsset]?
enum CodingKeys: String, CodingKey {
case id = "Expoid"
case name = "Expotitle"
case location = "Location"
case ticketCost = "Ticketcost"
case expoAssets = "ExpoAssets"
}
init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: CodingKeys.self)
id = try values.decode(String.self, forKey: .id)
name = try values.decode(String.self, forKey: .name)
location = try values.decode(String.self, forKey: .location)
ticketCost = try values.decode(String.self, forKey: .ticketCost)
discount = try values.decode(String.self, forKey: .discount)
startTime = try values.decode(String.self, forKey: .startTime)
endTime = try values.decode(String.self, forKey: .endTime)
expoAssets = try values.decode([ExpoAsset].self, forKey: .expoAssets)
}
}
解码部分是
let expoResult = try decoder.decode(ExpoDecode.self, from: data!)
请帮助确定问题