在Swift 4中解析JSON:基础知识

Swift标准库定义了一种用于数据编码和解码的标准化方法。 您通过在自定义类型上实现可Encodable和可Decodable协议来采用这种方法。 采用这些协议可以使EncoderDecoder协议的实现获取您的数据,并在外部表示形式(例如JSON或属性列表)中对数据进行编码或解码。 为了同时支持编码和解码,请声明对Codable符合Codable ,后者将EncodableDecodable协议结合在一起。 此过程称为使您的类型可编码

编码和解码自定义类型

如何在Swift 4中解析JSON?

让我们直接说清楚。

这是一个User的JSON示例:

为了将JSON转换为User实例,我们将struct标记为Codable 。 它应该看起来像这样:

然后,我们创建一个解码器:

还有BOOM! 这就对了!!

重要说明:我们使用了try!强行解包,但这只是出于示例的目的,您不应以这种方式使用它。 您应该使用catch来正确处理错误。 做一个好的开发者。

自定义键名

如果您的API采用蛇形惯例,则只需对CodingKeys枚举进行自定义实现。 该枚举定义了如何将属性连接到JSON字段名称。 因此,我们的User模型应如下所示:

来源和阅读链接

  • 编码和解码自定义类型
  • 将JSON与自定义类型一起使用