我一直在尝试使用swift从Xcode中此Google API链接中的json数据获取图像链接:
这些是键:
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并尝试通过此嵌套数据访问图像链接,则控制台中不会显示任何内容。我整天都在尝试这样做,但仍然无法找出问题所在。