実現したいこと
現在JSONを使って値を取り出すシステムを作っています。
JSONをデコードするコードの途中に以下のエラーメッセージが発生しました。
発生しているエラーメッセージ
ソースコードの let jsondata の行の!の部分に
Type of expression is ambiguous without more context
というエラーが出ます。
該当のソースコード
swift
1import Foundation 2 3struct Recipe: Decodable { 4 var id: String 5 var name: String 6 var time: String? 7 var calorie: String? 8} 9func getData() { 10 11 let recipe = """ 12 { 13 "id": "1", 14 "name": "ハンバーグ", 15 "time": "15分", 16 } 17 """ 18 19 // String -> Data に変換 20 let data = recipe.data(using: .utf8) 21 print("変換されました") 22 // JSON をデコード 23 let result = try! JSONDecoder().decode(Recipe.self, from: data!) 24 print("デコードされました") 25 do { 26 let jsonString = Recipe.self 27 let jsondata = jsonString.data(using: .utf8)!//エラーはここです 28 let recipe = try JSONDecoder().decode(Recipe.self, from: jsondata) 29 } catch { 30 print(error) 31 print(error.localizedDescription) 32 }
開発環境
Swift5
Mac OS 11.2.2
Xcode 12.4