鳩ブログ

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

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もあってなるべくコスパの良いものが基準。これはお風呂の時間にスマホで調べようかなと考え中。あーいそがしw