技術ブログ

プログラミング、IT関連の記事中心

JSONの操作【Swift】

■はじめに

APIなどを使用する上で、JSONのデータをよく利用する。
ここでは、このJSON型のデータをSwiftで利用しやすいようにNSDictionary型へ変換する方法を記載する。

◾️JSONデータをString型からNSDictionary型へ変換

APIのレスポンスデータをString型で取得した後を想定して、NSDictionary型へ変換する。
以下が変換するソースコードです。

// 変換するString型のJSONデータ
let jsonString = "{\"name\":\"kuro\"}"




if let data = jsonString.data(using: String.Encoding(rawValue: String.Encoding.utf8.rawValue)) {
    do {
        if let targetDict = try JSONSerialization.jsonObject(with: data, options: []) as? [String:AnyObject] as NSDictionary? {
            print(targetDict["name"])
        }
    } catch let error as NSError {
        print(error)
    }
}

◾️JSONデータをNSDictionary型からString型へ変換

APIへデータを渡すことを想定して、String型からNSDictionary型へ変換する。
以下が変換するソースコードです。

// JSON 化したいデータを Dictionary で作成
let dict: [String: String] = ["name": "kuro"]
do {
    // Dict -> JSON
    let jsonData = try JSONSerialization.data(withJSONObject: dict, options: [])
    
    let json = NSString(data: jsonData, encoding: String.Encoding.utf8.rawValue)! as String
} catch {
    print("Error!: \(error)")
}