##試したいこと
分かりにくい題で申し訳ありません。
指定したURLでURLSession.shared.dataTaskをしたあと、
帰ってきたデータをパースして、辞書型にキャストしたいのですが、
データ量が非常に膨大(6400000key/valueと表示されました)で、
jsonデータを辞書型にキャストすることができません。
###該当のソースコード
// URL設定 let str = "https://webservice.recruit.co.jp/hotpepper/gourmet/v1/?key=XXXXXXXXXXXXXX&large_area=\(choosePrefecture)&keyword=\(freeword)&lat&lng&format=json" guard let encoUrl = str.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else { return } guard let url = NSURL(string: encoUrl) else { return } let request = URLRequest(url: url as URL) // タスク実行 URLSession.shared.dataTask(with: request) { (data, response, error) in if let err = error { print("Failed to fetch the data because of ",err) return } do { self.storeInfo = [] guard let data = data else { return } let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) // json化したデータを[String:Any]にキャスト ※ここでjsonのデータ量が多すぎてキャストされず。次の処理が走ってしまう guard let storeDictionaries = json as? [[String:Any]] else { return } print(storeDictionaries) }catch let jsonErr { print("Failed to json",jsonErr) } }.resume()
###試したいこと
ホットペッパーAPIを使用しており、テキストフィールドに入力された情報を元に
dataTaskして帰ってきたdataを辞書型にする簡単な処理なんですが、なぜ該当部分で大量のデータが取得されてしまうのかが分かりません。
お助けお願いいたします。
回答1件
あなたの回答
tips
プレビュー