読者です 読者をやめる 読者になる 読者になる

うさがにっき

読書感想文とプログラムのこと書いてきます

NSJsonSerializationを使ってJSONデータを扱う

xcode swift

概要

NSJsonSerializationを使ってJSONデータを扱う

詳細

NSJsonSerializationはJSONデータを配列に変換したり、辞書データに変換したりするのに使う
今回はローカルのJSONデータを読み込んでみる

配列での読み込み

JSONデータを配列で読み込む

sample
jsonデータ

["ブルーマウンテン", "キリマンジャロ","コロンビア"]

swift

import UIKit

class ViewController: UIViewController{
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func viewWillAppear(animated: Bool) {
        // ファイル読み込み
        var path = NSBundle.mainBundle().pathForResource("json", ofType: "txt")
        var jsondata = NSData(contentsOfFile: path!)
        // 配列データに変換
        let jsonArray = NSJSONSerialization.JSONObjectWithData(jsondata!, options: nil, error: nil) as NSArray
        
        for dat in jsonArray {
            println("値=[\(dat)]")
        }
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

結果


値=[ブルーマウンテン]
値=[キリマンジャロ]
値=[コロンビア]

辞書データでの読み込み

JSONデータを辞書データで読み込む
sample
jsonデータ

{"名前":"ダージリン", "値段":600}

swift

import UIKit

class ViewController: UIViewController{
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func viewWillAppear(animated: Bool) {
        // ファイル読み込み
        var path = NSBundle.mainBundle().pathForResource("json", ofType: "txt")
        var jsondata = NSData(contentsOfFile: path!)
        // 辞書データに変換
        let jsonDictionary = NSJSONSerialization.JSONObjectWithData(jsondata!, options: nil, error: nil) as NSDictionary
        
        for dat in jsonDictionary {
            println("値=[\(dat)]")
        }
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

結果


値=[(値段, 600)]
値=[(名前, ダージリン)]

参考

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】