【发布时间】:2019-06-04 08:20:03
【问题描述】:
我正在使用 Codable 协议和 JSONDecoder 来解码从我的网络服务获得的 JSON。它真的很好用。不过,有一件事是我有时会得到不同格式的日期,所以我想为这个字段设置自定义解码。
通过 SO 和 net 浏览,我发现可以做到这一点,但我还必须手动解码所有其他字段。由于我有很多字段,我想自动解码所有字段,然后手动解码这一字段。
这可能吗?
编辑:
我将提供更多信息,因为这个问题似乎造成了很多混乱。
我有很多字段的 JSON。我的结构 Person 采用 Codable。我像这样使用 JSONDecoder
let person = try self.jsonDecoder.decode(Person.self, from: data)
现在所有字段都自动设置为结构。但有时我有一个或多个字段我想手动解码它们。在这种情况下,它只是日期,可以是各种格式。如果可能的话,我想使用同一行:
let person = try self.jsonDecoder.decode(Person.self, from: data)
所有其他字段将被自动解码,而只有 Date 将进行手动编码。
【问题讨论】:
-
当你尝试时会发生什么?
-
您的问题已经在stackoverflow.com/questions/46458487/… 得到解答。您可以为解码器提供自己的 dateDecodingStrategy。