Бэкэнд возвращает пользовательское значение JSON для местоположения. Как показано в примере:
{
"location": (54.000000, 21.000000)
}
Для разбора JSON я использую этот код:
let json = """
{
"location": (54.000000, 21.000000)
}
"""
struct Location: Codable {
var latitude: Double
var longitude: Double
}
let dataJson = json.data(using: .utf8)!
let location = try? JSONDecoder().decode(Location.self, from: dataJson)
Когда я пытаюсь создать объект Location с помощью JSONDecoder, я получаю сообщение об ошибке: Указанные данные недействительны в формате JSON.
dataCorrupted(Swift.DecodingError.Context(codingPath: [], debugDescription: "The given data was not valid JSON.", underlyingError: Optional(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 18." UserInfo={NSDebugDescription=Invalid value around character 18.})))
Я знаю, что это недействительный JSON. Какие методы переопределить, чтобы я мог анализировать недопустимые значения JSON?