[swift] ObjectMapper를 사용하여 JSON 데이터를 다른 객체에 매핑하는 방법은?
JSON 데이터를 Swift 객체로 변환하기 위해 ObjectMapper 라이브러리를 사용할 수 있습니다. ObjectMapper는 JSON 데이터와 Swift 객체 간의 매핑을 쉽게 처리할 수 있는 강력한 도구입니다. 다음은 ObjectMapper를 사용하여 JSON 데이터를 다른 객체에 매핑하는 예시입니다.
- ObjectMapper 설치하기
pod 'ObjectMapper'
- Swift 객체 준비하기
import ObjectMapper class User: Mappable { var name: String? var age: Int? required init?(map: Map) { // ObjectMapper가 필요로 하는 이니셜라이저 } func mapping(map: Map) { name <- map["name"] age <- map["age"] } }
- JSON 데이터 가져오기
let jsonString = """ { "name": "John Doe", "age": 30 } """ guard let jsonData = jsonString.data(using: .utf8) else { fatalError("Failed to convert string to data") }
- JSON 데이터를 객체로 매핑하기
let user = Mapper<User>().map(jsonData: jsonData) if let user = user { print("Name: \(user.name ?? "")") print("Age: \(user.age ?? 0)") } else { print("Failed to map JSON to User object") }
위 예시에서는 ObjectMapper를 사용하여 JSON 데이터를 User 객체로 매핑하였습니다. User 클래스는 ObjectMapper의 Mappable 프로토콜을 채택하고, required init과 mapping 메서드를 구현해야 합니다. mapping 메서드에서는 각 변수에 JSON 데이터의 특정 키를 매핑합니다.
JSON 데이터를 가져온 후, Mapper 클래스의 map(jsonData:) 메서드를 사용하여 JSON 데이터를 User 객체로 매핑합니다. 이때 매핑이 성공하면 User 객체가 반환되고, 실패하면 nil이 반환됩니다. 반환된 User 객체의 변수에 접근하여 JSON 데이터의 값을 확인할 수 있습니다.
자세한 사용 방법은 ObjectMapper의 공식 문서를 참고하시기 바랍니다.