鳩ブログ

サラリーマンが綴るブログ

SwiftUIの復習を兼ねてWebAPIからJSONを取り込もうと思ったがつまづいた...

f:id:hato36:20200721212340j:plain

JSONを取り込むにあたって、パース(解析)からタプル配列で読み込んで、構造体に落とし込もうと思ったがつまづいてしまった。

 

構造体、タプルの準備をしてJSONを読み込みたい

構造体、タプルを準備して、Codableでデータを読み込む想定で準備をしていた。
まさに下記の本のDay2-Lesson4のサンプルと同様に読み込む想定だった。

しかし、うまくいかない。

https://covid19-japan-web-api.now.sh/api/v1/prefectures

このWebAPIからJSONデータを取得するところまではうまく行っている。
Breakpointを設定して動かしてみたのだが、Decodeのところで止まってしまう...

いろいろ試してみたがどうにもならず本日はいったん保留。
ちょっと勉強して改めて明日および連休も雨になりそうだし調べてみることにした。

//受け取ったJSONデータをパース(解析)して格納
 let json = try decoder.decode(ResultJson.self, from: data!)

 エラーが出ているのはまさに上記の場所だが、気になっているのはCodableの部分。
しかもdo {} catch {}でエラーハンドリングしているのだが、私自身のデバック能力も低くエラーがわかっていない。(経験不足)

XCodeのデバッグ方法や、詳細なエラー内容の把握方法などまだまだ勉強しなければならないこと多数。これはどんな開発言語でも一緒だし、ツールに慣れさえすればエラー回避の経験値を積むだけだろう。

[Swift 4] Codableでスネーク記法のJSONに対応するための一例 | Developers.IO

この辺も気になるところなのでチェックしていく予定。
今日中にデータを取り込んでListに表示するところまでは出来ると思っていたのだがちょっと残念。(本業の方で部下の作ったRFPを確認しなければならないので再び本業に戻ろうと思う)

 

開発環境を改善したい

いよいよ勉強も面白くなって来たので、やはり環境を整備することにしようと思う。
LGの27インチモニタあたりが良さそげなところまではあたりをつけているが、それも結構種類があるのでもう少し調べて購入する予定。
(今のところ予定はないが)今後のMacbook Pro 2015 Earlyの買い替えも視野に入れて、USB-CポートもあってHDMIもあってなるべくコスパの良いものが基準。もう少し調べてみよう。