简体   繁体   中英

Error json serialization keyNotFound(CodingKeys… - when I am using Wi-Fi or VPN Connection

I have a function that is to get data from Server but sometimes when the application does request through a Wifi or a VPN I obtain. Why it happens when the application does request through wifi or VPN?

Error:

Error json serialization keyNotFound(CodingKeys(stringValue: "host", intValue: nil),
 Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "recommendations", intValue:
 nil), _JSONKey(stringValue: "Index 2", intValue: 2), CodingKeys(stringValue: "blockedHosts",
 intValue: nil), _JSONKey(stringValue: "Index 1", intValue: 1)], debugDescription: "No value 
associated with key CodingKeys(stringValue: \"host\", intValue: nil) (\"host\").", 
underlyingError: nil))

Model:

class ListOfPlayers: Decodable {
    let players: [Player]
    let recommendations: [Recommendations]
    let proxies: [Proxies]
    let preloadAdStartPageUrl: String
}

class Recommendations: Decodable {
    let id: Int
    let url: String
    let title: String
    let color: String
    let image: String?
    let blockedHosts: [BlockedHostsRecommendation]
}

class BlockedHostsRecommendation: Decodable {
    let host: String
    let countries: [String]
}

I repeat, the application works well, but sometimes I catch this error only through Wifi or VPN.

I'd suggest capturing network traffic with a proxy like Charles and analyze the received data. The error message shows that JSONDecoder can't decode BlockedHostsRecommendation.host , it can be possible that in some cases you backend doesn't provide that field

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM