У меня есть JSON с ключами
{
"yearOfManufacture":"20/9/2018",
"carSize":8,
"isNew":true,
"carAssets":[
{
"color":"5761807993001",
"nativeId":"{\"app\":\"1234/Car/Native_App\",\"web\":\" /8888/Car/Native_Car_Desktop\"}"
}
]
}
Я пытаюсь выполнить синтаксический анализ с использованием протокола Codable с структурами
struct Cars: Codable {
var yearOfManufacture: String?
var carSize: Int = 0
var isNew: Bool = true
var carAssets: [CarAssests]?
}
struct CarAssests: Codable {
var color: String?
var nativeId: String?
}
Я получаю сообщение об ошибке типа Данные не могут быть прочитаны, поскольку они имеют неправильный формат. Я попытался использовать CodingKeys с контейнером декодера, не получая точный тип "nativeId": "{\ "app \": \ "1234 / Car / Native_App \", \ "web \": \ "/ 8888 / Car / Native_Car_Desktop \"} " не удается получить точный тип данных этого.
let decoder = JSONDecoder()
decoder.dataDecodingStrategy = .deferredToData
if let jsonData = jsonString.data(using: .utf8) {
do {
print(jsonData)
let assets = try decoder.decode(Cars.self, from: jsonData)
print(assets)
} catch {
print(error.localizedDescription)
}
}