Swift: есть способ быстро отладить декодируемый объект - PullRequest
1 голос
/ 22 января 2020

У меня есть объект из 20 полей. Когда я получаю json с сервера, я получаю сообщение об ошибке декодирования json.

. Существует способ быстро выяснить, какое поле проблематично c вместо удаления всех полей. и положить его один за другим, чтобы выяснить, какой из них проблематичен c.

Ответы [ 2 ]

3 голосов
/ 22 января 2020

Если вы используете Codable для анализа JSON, вы можете просто напечатать блок error in catch, и он распечатает полную информацию где проблема существует.

do {
    let response = try JSONDecoder().decode(Root.self, from: data)
    print(response)
} catch {
    print(error) //here.....
}
2 голосов
/ 22 января 2020

Просто напечатайте экземпляр error (, никогда error.localizedDescription) в блоке catch.

В ошибке отображается CodingPath и ключ, на котором произошла ошибка .

...