今回文字列として用意しているjsonは以下のものです。これをファイルではなくStringの文字列で宣言をしてparseを行いたいと考えているのですがどうすれば良いのか分からず困っています。
json
1{ 2 "name": "hoge", 3 "type": "normal", 4 "value": 5 5}
試したコード
シンプルに以下の様にJSONDecoderを使えばできると思っていたのですがクラッシュしてしまいます。
Swift
1struct Parse: Codable{ 2 var name: String 3 var hoge: String 4 var value: Int 5} 6 7class ViewController: UIViewController { 8 let jsonString = "{\"name\": \"hoge\",\"type\": \"normal\",\"value\": 5}" 9 10 override func viewDidLoad() { 11 super.viewDidLoad() 12 let jsonData = try? JSONDecoder().decode(Parse.self, from: jsonString.data(using: .utf8)!) 13 print(jsonData!.name) 14 }
なぜoptionalになっていしまっているのかわかりません。hogeを入れてあるのでnilにはならないと思っていましたがなぜかnilになってしまっています。どうしたら良いのでしょうか?
error
1Fatal error: Unexpectedly found nil while unwrapping an Optional value 22019-06-25 18:31:45.131719+0900 JsonDecodeTest[4544:289504] Fatal error: Unexpectedly found nil while unwrapping an Optional value
回答1件
あなたの回答
tips
プレビュー