Ключи snake_case в JSON и camelCase в модели Decodable
Сервер отдаёт:
{"user_id": 42, "first_name": "Иван"}
Модель объявлена так:
struct User: Decodable {
let userId: Int
let firstName: String
}
let user = try JSONDecoder().decode(User.self, from: data)
Что произойдёт при декодировании?
- Декодирование выбросит keyNotFound: нужны CodingKeys или convertFromSnakeCase
- Декодирование пройдёт: JSONDecoder по умолчанию приводит snake_case к camelCase
- userId получит 0, firstName — пустую строку, ошибки не будет
- Ошибки не будет, но объект создастся только если оба свойства объявить как var
