我有以下表示JSON的结构:
struct Todo: Codable {
let ID: Int?
let LAST_DT_ADD: String?
let LAST_ID:Int?
}
当我以相同的方式使用解码时:
let decoder = JSONDecoder()
do {
let todo = try decoder.decode(Todo.self, from: responseData)
completionHandler(todo, nil)
} catch {
print("error trying to convert data to JSON")
print(error)
completionHandler(nil, error)
}
它正确地进行解码,但是,当我有JSON项小写(例如代替ID
,LAST_DT_ADD
并且LAST_ID
,我有id
,last_dt_add
和last_id
),则不是对象进行解码。我需要做什么?如何支持大写和小写?
您应该在CodingKeys
枚举中提供正确的版本作为关联值。
enum CodingKeys: String, CodingKey {
case ID = "id"
case LAST_DT_ADD = "last_dt_add"
case LAST_ID = "last_id"
}
请注意,在Swift中,命名变量的约定是在camelCase中而不是snake_case中标准化的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句