iOS

[Swift]ObjectMapperで簡単にJSONを読み込む

投稿日:

はじめに

こんにちは、onukiです。

私はSwiftでJSONを取り扱う際に、
ObjectMapperを使用してるのですが、今回は簡単にObjectMapperの紹介と普通にやると意外と面倒なJSONにネスト配列がある場合の使い方を書いていこうと思います。

準備

今回もおなじみCarthageを使用します。
Cartfileにこちらを記述してください。

そうしたら、以下のコマンドでビルドしてください。

 

実装

基本的な使い方

まず、以下のようなJSONを扱う場合、

ObjectMapperはMappableプロトコルをモデルクラスに実装し使用します、今回のJSONだと以下のように記述します。

実際にJSONを読み込みモデルを扱うには以下のようにします

JSONの中にnameがなかった場合はuser.nameの値はnilになります。たとえばvar name: String = “”とかやっておけばnilではなく空文字になりますし、var name: String = “Default”など特定の値をデフォルト値にすることもできます。

ネスト配列に対応してみよう

ここからネスト配列が含まれているJSONを使用します。

Mappableプロトコルを今回はネスト配列に対応するために2つ作成します。

JSONからモデルに変換しuserのphotos配列から0番目のデータを取得したい際にはこのように取得します。

 

さいごに

ObjectMapperいかがだったでしょうか、モデルクラスの書き方もわかりやすく個人的には気に入っているので引き続き使っていきたいと思っています。

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

[Swift]アプリのフォアグラウンドに特定の処理を行う。

1 はじめに2 今回の目標3 画面構成4 通知の設定4.1 通知の送信4.2 通知の受信と削除-BaseController5 それぞれの画面の設定5.1 初期画面(FirstViewControll ...

iOS13で発生するUICollectionviewのカクつきを解消する

iOS13でCollectionViewの動作が少し変わりました。 Cellの入れ替え時にデータの更新を行う際にはどのように作成すれば良いか、関係のあるデリゲートを含め説明させていただいております。 おまけとして、Xcode11.3対応を行った際に対応した内容を簡単にですが記述しております。Xcode11対応をされる方の参考になればと思います。

【Swift】スクリーンショットの検知

1 はじめに2 スクショを検知する方法3 使い方4 さいごに5 おすすめ書籍 はじめに こんにちは、suzukiです。今回はユーザがスクリーンショットを取得した場合を検知にする方法についてです。 使わ ...

swift

[Swift]動画広告を最後まで見たら何かするアレをAPPLOVINでやってみた

1 はじめに1.1 前提条件2 準備3 実装3.1 Xcodeの設定3.2 広告の再生4 テスト設定とかアプリ管理5 さいごに はじめに こんにちは、nukkyです。 今回はタイトルの通り、アプリでよ ...

swift

[Swift]UITableViewのカスタムセルをStoryboadで

1 はじめに1.1 前提条件2 実装2.1 Storyboadの準備2.2 UITableViewCellクラスの準備2.3 カスタムセルの表示3 さいごに はじめに こんにちは、nukkyです。 以 ...

フォロー

blog-page_side_responsive

2018年2月
 123
45678910
11121314151617
18192021222324
25262728  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。