こんにちは
プログラミングはまだまだわからないことだらけです。
現在APIを利用して取得したJSONデータの特定の要素をテーブルビュー出力しようと考えて居ます。
そこで、JSONデータの扱い方でわからないことがあります。
Swift
1 let url: URL = URL(string: "https://www.googleapis.com/books/v1/volumes?q=4022591323")! 2 let task: URLSessionTask = URLSession.shared.dataTask(with: url, completionHandler: { data, response, error in 3 do { 4 let json = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.allowFragments) as! [String: Any] 5 print(json) 6 }catch{ 7 print("error") 8 } 9 }) 10 task.resume()
このように書いて取得したデータは
{ kind : "...."
totalItems : 9,
items : [ { kind : "....", id : ".....", //いくつか続いていく ]
という形になっていました。
私はこのitemsの中にある特定のキーを持つ値を取り出し、テーブルビューに表示したいと考えているのですが、itemsをまたキャストすればいいのかと思い
Swift
1let items = json["items"] as! [String: Any] 2print(items)
というように一度記述してみましたが、
Could not cast value of type '__NSArrayI' (0x22da11a70) to 'NSDictionary' (0x22da10bc0).
といったエラーが出て来ました。
このエラーはどういう意味なのか、また、どのように記述すればitemsを取り扱えるようになるのか。
拙い文章で恐縮ですが、ご教示いただけると幸いです。
作業環境
MacOS High Sierra バージョン10.13.6
メモリ8GB
Xcode10.1
Swift4.2.1
ここまでの実装で参考にしたサイトはhttps://fukatsu.tech/api-tableview#i-5です。
重ねてよろしくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/09 08:25
2019/01/09 08:27
2019/01/09 10:25
2019/01/09 10:31