«Неверный тип в записи JSON (__NSTaggedDate)» при попытке декодировать дату JSON - PullRequest
1 голос
/ 13 мая 2019

Я получаю сообщение об ошибке «Завершение приложения из-за необработанного исключения« NSInvalidArgumentException », причина:« Неверный тип в записи JSON (__NSTaggedDate) »», когда я пытаюсь декодировать объект JSON из банка данных, который имеет переменную даты. Ошибка происходит в строке: 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)
    }
}

Я использую этот метод для преобразования результата запроса Postgres SELECT в массив объектов Codable с использованием зависимости PG.

case .success(let result):
   let array = result.rows.map { Dictionary($0) }

   let objects = try! array.decode() as [Model]

   completion(objects,nil)
...