Codable
Updated:
🔷 Codable
Codable 을 통해 Json 데이터를 class 혹은 struct instance 로 생성이 가능합니다
// """따옴표를 3개 사용하면 안에 있는 "" 도 같이 한번에 처리 합니다
let jsonFromServer = """
{
"nick_name": "Jacob",
"job": "iOS Developer",
"user_name": "jacobkosmart"
}
"""
struct User: Codable {
var nickname: String
var job: String
var myUserName: String
// 위의 jsonFrom 서버의 key 값이 맴버의 변수 와 이름이 같아야됨
// 만약 다를 경우 아래와 같이 코딩키를 이용하여 변경이 가능해서 서로 맞춰 줘야 함
enum CodingKeys: String, CodingKey {
case nicknmae = "nick_name"
case job // 같은경우 그냥 씀
// json 의 user_name 키를 myUserName이라고 이름으로 받겠다고 설정
case myUserName = " user_name"
}
}
// json String 을 데이터로 만들기
let jsonData : Data = jsonFromServer.data(using: .utf8)!
do {
// json decoder 통해 json data 로 User instance 생성
// try catch 로 에러 처리
let user = try JSONDecoder().decode(User.self, from: jsonData)
print("user: \(user)")
} catch {
print("에러 발생! \(error.localizedDescription)")
}
Reference
Swift Tip of the day - 스위프트 기초 문법 - https://spangle-wedelia-2dc.notion.site/Swift-Tip-of-the-day-c428bfd990674bcfa2a4973e5d08c4eb
꼼꼼한 재은 씨의 스위프트 문법편 - https://book.jacobko.info/#/book/1186710233
Leave a comment