我目前正在编写一个解析位于底部链接的JSON Api程序。
当我运行代码时,可以看到一些输出,但不是全部。主要是关于 Anime 可选类型的数据,这表明它能正常工作,但我还想访问名称、发布日期和语言等信息。然而,我不知道在Swift 4中如何处理像这样的JSON数组。下面是我的当前代码。
import UIKit
struct AnimeJsonStuff: Decodable {
let data: [AnimeDataArray]
}
struct AnimeDataArray: Decodable {
let type: String?
}
class OsuHomeController: UICollectionViewController, UICollectionViewDelegateFlowLayout {
func jsonDecoding() {
let jsonUrlString = "https://kitsu.io/api/edge/anime"
guard let url = URL(string: jsonUrlString) else {return} //
URLSession.shared.dataTask(with: url) { (data, response, err) in
guard let data = data else {return}
do {
let animeJsonStuff = try JSONDecoder().decode(AnimeJsonStuff.self, from: data)
print(animeJsonStuff.data)
let animeDataArray = try JSONDecoder().decode(AnimeDataArray.self, from: data)
print(animeDataArray.type as Any)
} catch let jsonErr {
print("Error serializing json", jsonErr)
}
}.resume()
}
}
我有更多的代码,但只是为了设置自定义collectionViewCells。
此外,这里是API链接。