Swift 2.1 で JSON を扱う
Swift で JSON を扱ってみましょう。ブログの記事やお天気の情報を JSON 形式で配信している Web サービスが多く存在します。ですからJSON の扱い方を覚えれば、iOS アプリ開発で出来ることが格段に増えます。
Udemy の講座だと、レクチャー94で取り組みます。
開発環境
完成予定
以下の JSON をNSDictionary型に変換して、コンソールに表示します。
JSON って?
JSON とは 一つの大きな { } 内にKey と Value のペアで複数の値を扱うことができるフォーマットのことです。
{ Key : Value }
文字は Key もダブルクォーテーションで囲みます。[ ]で Value を囲むことで、配列を作ることも出来ます。
[ Value, Value, Value ]
製作開始
まずは Xcode で新規プロジェクトを作成します。テンプレートは Single View Application を選択し、プロジェクト名を Demo_JSON にしました。
1. JSON ファイルを作成
Xcode で空のファイルを作成するか、適当なテキストエディタを使用して JSON ファイルを作成します。ファイル名は sample.json とし、中身は以下のようにしました。
sample.json をプロジェクトに追加します。
2. プログラムで JSON ファイルを読み込む
ViewController.swift を開きます。ファイルのパスを調べて、NSData として変数に読み込みます。
ファイルのパスを取得
NSDataとして読み込む
3. JSON を NSDictionary として扱う
JSONをSwift で扱えるようにする NSJSONSerialization クラスの JSONObjectWithData メソッドを使用します。このメソッドはエラーを返す可能性があるので、do catch で囲みます。
let json = try NSJSONSerialization.JSONObjectWithData(jsonData, options: .MutableContainers) as! NSDictionary
print(json)
} catch let err as NSError {
print(err.localizedDescription)
}
print 関数で結果を表示します。
ちゃんと表示されましたか?おめでとうございます!
コードのところどころに書かれている ! は、この値は nil ではないよ!とプログラムに伝えるための記号です。
まとめ
- JSON を扱うには NSJSONSerialization クラスを使う
- プロジェクトに追加したファイルのパスは、NSBundleクラスを使う