【SwiftUI】JsonModelのstruct内変数の指定の方法

SwiftUIプロジェクトでAPI接続で値を取得する際は、Viewに表示する際にJsonModelとしてなど、取得元のJSONデータに沿った形でSwiftUIのファイルでも値を定義する必要があります。

この記事では、JsonModelのstruct内変数の指定の方法について解説します。

 

◆動作検証環境

・ローカル環境:mac Catalina
・XCode:12.1
・SwiftUI:2.0
スポンサードリンク

デコード用struct(JsonModel)の作成例

 

nullが含まれるフィールドの場合

例えば以下のようなJSONデータを取得する場合:

 

以下のようなstructを作る必要があります。

Identifiable を追加する事でViewの表示でForEach 文を使う際にid の指定を省略する事ができます。

JSONデータを確認するとvariety_namenull が含まれています。

このように、元のデータでnull が許容されている場合は、SwiftUI側でもそれに対応する必要があり、var variety_name: String? とオプショナル型にします。

 

null が許容されている値を表示する際は、デフォルトの値が必要となります。
 

Int型の場合は、デフォルトに数字を入れる必要があり、nullで表示したくない場合はif文など使って表示の有無を条件づけます。

 

Date型が含まれるフィールドの場合

下記のようにDate型がふくまれる場合:

 

Swift側の対応するsrruct内の変数の方はStringを指定します。

この時にDate型を指定するとエラーとなります。


以上、SwiftUIプロジェクトでJsonModelのstruct内変数の指定の方法について解説しました。