[swift] ObjectMapper를 사용하여 JSON 데이터를 다른 객체에 매핑하는 방법은?

JSON 데이터를 Swift 객체로 변환하기 위해 ObjectMapper 라이브러리를 사용할 수 있습니다. ObjectMapper는 JSON 데이터와 Swift 객체 간의 매핑을 쉽게 처리할 수 있는 강력한 도구입니다. 다음은 ObjectMapper를 사용하여 JSON 데이터를 다른 객체에 매핑하는 예시입니다.

  1. ObjectMapper 설치하기
    pod 'ObjectMapper'
    
  2. 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"]
        }
    }
    
  3. JSON 데이터 가져오기
    let jsonString = """
    {
        "name": "John Doe",
        "age": 30
    }
    """
    
    guard let jsonData = jsonString.data(using: .utf8) else {
        fatalError("Failed to convert string to data")
    }
    
  4. 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의 공식 문서를 참고하시기 바랍니다.