当我尝试从具有日期变量的数据库中解码 JSON 对象时,出现错误“由于未捕获的异常‘NSInvalidArgumentException’而终止应用程序,原因:‘JSON 写入中的无效类型 (__NSTaggedDate)’”。错误发生在以下代码行: let jsonData = try JSONSerialization.data(withJSONObject: self) 中:
extension Array where Element == Dictionary<String,Any> {
func decode<T>() throws -> [T] where T: Codable {
let jsonData = try JSONSerialization.data(withJSONObject: self)
// 1.
let decoder = JSONDecoder()
// 2.
return try decoder.decode([T].self, from: jsonData)
}
}
我使用此方法使用 PG 依赖项将 Postgres SELECT 查询的结果转换为 Codable 对象数组。
case .success(let result):
let array = result.rows.map { Dictionary($0) }
let objects = try! array.decode() as [Model]
completion(objects,nil)
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)