快速4.2中的JSON解析

时间:2018-07-29 16:48:59

标签: ios json swift

我一直在尝试使用swift从Xcode中此Google API链接中的json数据获取图像链接:

  

https://www.googleapis.com/books/v1/volumes?q=flowers

这些是键:

import UIKit

struct Kind: Decodable {
    let kind: String
    let items: [Item]
}
struct Item: Decodable {
    let id: String
    let etag: String
    let volumeInfo: VolumeInfo
}
struct VolumeInfo: Decodable {
    let title: String
    let publisher: String
    let imageLinks: ImageLinks
}
struct ImageLinks: Decodable{
    let smallThumbnail: String
    let thumbnail: String
}

这是json解析:

func fetchPictures(){
        let url = URL(string: "https://www.googleapis.com/books/v1/volumes?q=flowers")
        URLSession.shared.dataTask(with: url!) { (data, _, _) in
            guard let data = data else {return}
            do {
                let book = try JSONDecoder().decode(Kind.self, from: data)
                print(book.items)
            } catch {}
        }.resume()
    }

如果我注释掉Item结构中的volumeInfo家伙,则我在控制台中得到的id和etags没问题。但是,如果我离开volumeInfo并尝试通过此嵌套数据访问图像链接,则控制台中不会显示任何内容。我整天都在尝试这样做,但仍然无法找出问题所在。

0 个答案:

没有答案