Swiftでアプリ。- JSONの使い方。デコード
まず基本的なこと。JSONというのは簡単に説明すると、
JSONは今ではWebAPIなどで利用されJavaScript以外のいろんなプログラミング言語でも利用されています。
JSONではデータの受け渡しを簡単にするために使われているので実際に使うときには使える型に変換して使うことになります。
その変換が"デコード"ということになります。Swiftでの方法を確認していきます。参考サイトのJSONの例示です。
{
"person": [
{
"name": "Ame Tsubaki",
"age": 18,
"hobby": ["旅行", "料理", { "web制作": ["HTML", "CSS", "php"] }]
},
{
"name": "Yoshida Takashi",
"age": 21,
"hobby": ["読書", "ランニング", "テニス"]
}
]
}
2種類のカッコで値を囲んだ構造になっています。
Swiftで使うときには文字コードがUTF-8のData型に変換(デコード)する必要があります。
例えということでJSON形式で変数を作ります。
var exJson = """
{
"name": "Taro",
"age": 17,
"adress":"Japan"
}
"""
これをデータ型にするには
let data = String(exJson).data(using: .utf8)!
型を見てみます。
print(type(of: data))
とすると"Data"と出てきます。Data型になっています。
Swiftの場合は構造体を使ってそのデータを使えるようにしていきます
まず構造体をDecodableプロトコルに準拠させたものを月ります(Codableでも可)。
struct Person: Decodable {
var name:String
var age:Int
var adress:String
}
変数で宣言したJSON形式のデータを使ってデコードします。
let data = String(exJson).data(using: .utf8)!
let person = try! JSONDecoder().decode(Person.self, from: data)
print(person.name)
これで実行すると"Taro"というのが出てきます。このデータを使っていろんな処理ができるようになります。
SONで定義されていたデータをデコードする方法として
を実行して変数personには
が入ります。そしてnameのデータを取りたい場合には
ageのデータを取りたい場合には
となります。
この記事が気に入ったらサポートをしてみませんか?