Dmi*_*ry 2 swift swift4 jsondecoder
我有以下表示 JSON 的结构:
struct Todo: Codable {
let ID: Int?
let LAST_DT_ADD: String?
let LAST_ID:Int?
}
Run Code Online (Sandbox Code Playgroud)
当我以同样的方式使用解码时:
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)
}
Run Code Online (Sandbox Code Playgroud)
它可以正确解码,但是当我有小写的 JSON 项目时(例如,我有ID, LAST_DT_ADDand ,而不是, and ),它不会解码对象。我需要做什么?如何支持大写和小写?LAST_IDidlast_dt_addlast_id
您应该提供正确的版本作为枚举中的关联值CodingKeys。
enum CodingKeys: String, CodingKey {
case ID = "id"
case LAST_DT_ADD = "last_dt_add"
case LAST_ID = "last_id"
}
Run Code Online (Sandbox Code Playgroud)
请注意,在 Swift 中,命名变量的约定是用驼峰命名法(camelCase)标准化的,而不是蛇形命名法(snake_case)。
| 归档时间: |
|
| 查看次数: |
4595 次 |
| 最近记录: |