SwiftUI にて、階層構造のあるJSONデータを読み込むサンプルを掲載します。
struct ContentView: View {
struct User: Codable {
let scode: String
let name: String
let juusho: Address
}
struct Address: Codable {
let code: String
let detail1: String
let detail2: String
let detail3: String
}
var body: some View {
Button("Decode JSON") {
let input = """
{
"scode": "U5088",
"name": "相馬 准司",
"juusho": {
"code": "134-0088",
"detail1": "東京都",
"detail2": "江戸川区",
"detail3": "西葛西7-23-14-807"
}
}
"""
let data = Data(input.utf8)
let decoder = JSONDecoder()
if let user = try? decoder.decode(User.self, from: data) {
print(user.scode)
print(user.name)
print(user.juusho.code)
print(user.juusho.detail1)
print(user.juusho.detail2)
print(user.juusho.detail3)
}
}
}
}
このプログラムを実行した場合の実行結果
(Debug Areaに print結果が出力される)
