快速解析JSON数组的有效方法是什么

时间:2018-07-20 07:30:39

标签: ios json swift

到目前为止,没有模型类,就直接从数组中解析JSON数据。请建议使用模型类或直接解析JSON数据来解析JSON的有效方法。

2 个答案:

答案 0 :(得分:1)

如果您使用的是Swift 4,那么Apple有一些新的协议,我们可以使用 JSONDecoder 可解码 >用于将 JSON 数据解码为模型对象,以及 JSONEncoder Encodable 用于将模型对象编码为JSON数据。

答案 1 :(得分:0)

根据Apple开发者documentation

  

Swift标准库定义了一种标准化的数据处理方法   编码和解码。您可以通过实施   您的自定义类型上的可编码和可解码协议。采用这些   协议允许实现编码器和解码器协议   获取您的数据并与外部进行编码或解码   表示形式,例如JSON或属性列表。

对于json解码,您可以使用Struct和实现Decodable协议的类。以下是开发者网站上的简单示例

struct Landmark: Decodable {
    var name: String
    var foundingYear: Int
}

现在您可以像这样从JSON数据创建Landmark结构

do {
    let landmark = try JSONDecoder().decode(Landmark.self, from: data)
} catch {
    print(error.localizedDescription)
}

除了可编码协议之外,还有许多第三方库可用,例如ObjectMapperSwiftyJSON等,但是建议的方法是在尝试第三方解决方案之前先尝试使用Codable协议。