Итак, я пытаюсь декодировать JSON и получить эту ошибку.
Это JSON:
{ "SERVERWebSystemInfoGet": {
"Return Code" : 0,
"Return String" : "No Error",
"Info" : "{\"IT\":\"IT109200310_0\",\"MAC\":\"00:40:7F:41:F8:81\",\"UUID\":\"uuid:858fba00-d3a0-11dd-a001-00407f41f881\",\"SN\":\"ENG031\",\"ModelNumber\":\"DH-390 2MP\",\"ModelName\":\"DH-390 2MP\",\"FwVer\":\"v1.0.0.34\",\"HwVer\":\"\",\"FriendlyName\":\"DH-390 2MP ENG031\",\"UpTime\":548}" }
}
Это мои модели:
struct Information: Codable {
let ModelName : String?
}
struct GetInformation: Codable {
let Info: [String: Information]?
}
struct WebSystemInfo: Codable {
let SERVERWebSystemInfoGet: GetInformation?
}
Это метод:
func parseGetInfo(data: Data) {
do {
let info = try JSONDecoder().decode(WebSystemInfo.self, from: data)
print(info)
} catch let error{
print(error)
}
}
И это ошибка, которую я получаю:
typeMismatch (Swift.Dictionary
Swift.DecodingError.Context (codingPath: [CodingKeys (stringValue: "SERVERWebSystemInfoGet", intValue: nil),
CodingKeys (stringValue: "Info", intValue: nil)],
debugDescription: «Ожидается, что будет декодирован словарь, но вместо него найдена строка / данные», underError: nil))