I am using the following code to decode the data from server to json. But when it is parsing into json. It throws following error
The data couldn’t be read because it isn’t in the correct format.
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)
}
}
And Decoding part is
let expoResult = try decoder.decode(ExpoDecode.self, from: data!)
Please help to identify the issue