使用解码器解码JSON

时间:2018-04-13 13:09:32

标签: json swift codable jsondecoder

我正在关注Swift 4中新的Codable协议的教程。我正在从iTunes中检索JSON。

我在符合Codable的文件(SearchResult.swift)中设置了我的数据模型:

class ResultArray: Codable {
    var resultCount = 0
    var results = [SearchResult]()
}

class SearchResult: Codable {
    var artistName = ""
    var trackName = ""

    var name: String {
        return trackName
    }
}

在我的ViewController(SearchViewController.swift)中我解码了JSON。我不明白的是在ResultArray.self中对Self的引用。结果数组对象未在我正在进行调用的View Controller中声明。

func parse(data: Data) -> [SearchResult] {
        do {
            let decoder = JSONDecoder()
            let result = try decoder.decode(ResultArray.self, from: data)
            return result.results
        } catch {
            print("JSON Error: \(error)")
            return []
        }
    }

0 个答案:

没有答案