[swift] ObjectMapper를 사용하여 JSON 데이터를 필요한 속성만 매핑하는 방법은?

JSON 데이터에서 필요한 속성만을 매핑하기 위해 ObjectMapper 라이브러리를 사용할 수 있습니다. ObjectMapper는 Swift에서 JSON 매핑을 쉽게 수행하도록 도와주는 라이브러리입니다.

아래는 ObjectMapper를 사용하여 JSON 데이터에서 필요한 속성을 매핑하는 간단한 예제입니다.

먼저, ObjectMapper를 프로젝트에 추가해야 합니다. 이를 위해 CocoaPods를 사용하거나 수동으로 라이브러리 소스 파일을 추가할 수 있습니다.

import ObjectMapper

struct User: Mappable {
    var id: Int
    var name: String

    init?(map: Map) {
        id = 0
        name = ""
    }

    mutating func mapping(map: Map) {
        id <- map["id"]
        name <- map["name"]
    }
}

let jsonString = """
{
    "id": 1,
    "name": "John Doe",
    "email": "john.doe@example.com"
}
"""

if let user = Mapper<User>().map(JSONString: jsonString) {
    print(user.id)   // 1
    print(user.name) // "John Doe"
}

위의 예제에서는 User라는 구조체를 정의하고, Mappable 프로토콜을 준수하도록 합니다.

User에는 idname이라는 속성이 있으며, init?(map: Map) 메서드를 사용하여 초기화합니다.

mapping(map: Map) 메서드에서는 ObjectMapper의 <- 연산자를 사용하여 JSON 데이터와 구조체 속성을 매핑합니다.

마지막으로, Mapper<User>().map(JSONString: jsonString)를 사용하여 JSON 데이터를 매핑하여 구조체를 생성합니다. 필요한 속성만 매핑되며, JSON 데이터에 존재하지 않는 속성은 무시됩니다.

이렇게 ObjectMapper를 사용하여 JSON 데이터에서 필요한 속성만을 매핑할 수 있습니다. ObjectMapper는 다양한 기능과 유용한 메서드를 제공하므로, 더 많은 기능을 활용하고 싶다면 공식 문서를 참조해보세요.