[swift] ObjectMapper를 사용하여 JSON 데이터의 결측 값을 처리하는 방법은?

JSON 데이터를 다룰 때, 때로는 일부 필드가 결측 된 경우가 있습니다. 이러한 경우 ObjectMapper를 사용하여 이러한 결측 값을 처리할 수 있습니다. ObjectMapper는 JSON 데이터의 파싱 및 매핑을 단순화해주는 유용한 라이브러리입니다. 아래의 예제 코드를 통해 ObjectMapper를 사용하여 결측 값 처리 방법을 알아보겠습니다.

먼저, ObjectMapper를 프로젝트에 추가해야 합니다. CocoaPods를 사용하는 경우 Podfile에 다음과 같이 추가합니다.

pod 'ObjectMapper'

그리고 터미널에서 pod install 명령을 실행하여 라이브러리를 설치합니다.

이제 ObjectMapper를 사용하여 결측 값을 처리하는 방법을 살펴보겠습니다. 아래의 예제 코드에서는 JSON 데이터를 User 객체로 매핑하는 방법을 보여줍니다.

import ObjectMapper

struct User: Mappable {
    var name: String?
    var age: Int = 0
    
    init?(map: Map) {}
    
    mutating func mapping(map: Map) {
        // name 필드가 결측 된 경우, 기본값으로 "Unknown"을 할당합니다.
        name <- map["name", default: "Unknown"]
        
        // age 필드가 결측 된 경우, 기본값으로 0을 할당합니다.
        age <- map["age", default: 0]
    }
}

// JSON 데이터
let json = """
{
    "name": "John Doe"
}
"""

// JSON 데이터를 매핑하여 User 객체 생성
if let user = Mapper<User>().map(JSONString: json) {
    print("Name: \(user.name ?? "")")
    print("Age: \(user.age)")
}

위의 코드에서 ObjectMapper의 <- 연산자를 사용하여 JSON 필드와 객체 프로퍼티를 매핑합니다. default 옵션을 사용하여 필드가 결측 된 경우 기본값을 할당할 수 있습니다. 이 경우, name 필드가 결측 된 경우 “Unknown”을, age 필드가 결측 된 경우 0을 할당합니다.

결과를 확인하면 name 필드가 “John Doe”로 매핑되고, age 필드는 기본값인 0으로 설정됩니다.

Mapper를 사용하면 결측 값에 대한 처리를 쉽게 할 수 있으며, 유연하게 JSON 데이터를 매핑할 수 있습니다. 위의 예제 코드를 참고하여 ObjectMapper를 활용해보세요.