在Swift 4中解析JSON:基础知识
Swift标准库定义了一种用于数据编码和解码的标准化方法。 您通过在自定义类型上实现可
Encodable
和可Decodable
协议来采用这种方法。 采用这些协议可以使Encoder
和Decoder
协议的实现获取您的数据,并在外部表示形式(例如JSON或属性列表)中对数据进行编码或解码。 为了同时支持编码和解码,请声明对Codable
符合Codable
,后者将Encodable
和Decodable
协议结合在一起。 此过程称为使您的类型可编码 。
编码和解码自定义类型
如何在Swift 4中解析JSON?
让我们直接说清楚。
这是一个User的JSON示例:
为了将JSON转换为User
实例,我们将struct标记为Codable
。 它应该看起来像这样:
然后,我们创建一个解码器:
还有BOOM! 这就对了!!
重要说明:我们使用了try!
并强行解包,但这只是出于示例的目的,您不应以这种方式使用它。 您应该使用catch
来正确处理错误。 做一个好的开发者。
自定义键名
如果您的API采用蛇形惯例,则只需对CodingKeys
枚举进行自定义实现。 该枚举定义了如何将属性连接到JSON字段名称。 因此,我们的User
模型应如下所示:
来源和阅读链接
- 编码和解码自定义类型
- 将JSON与自定义类型一起使用