[swift] ObjectMapper를 사용하여 JSON 데이터의 특정 필드를 선택적으로 매핑하는 방법은 무엇인가요?
  1. ObjectMapper 설치하기: ObjectMapper를 사용하려면 먼저 프로젝트에 ObjectMapper를 설치해야 합니다. Cocoapods를 사용한다면 Podfile에 다음을 추가하고 pod install을 실행하세요.

    pod 'ObjectMapper'
    
  2. 모델 클래스 생성하기: JSON 데이터를 매핑하기 위해 모델 클래스를 생성해야 합니다. 이 모델 클래스는 ObjectMapper의 Mappable 프로토콜을 채택해야 합니다. 필요한 필드를 선언하고 ObjectMapper에서 이 필드를 매핑할 수 있도록 변수 이름과 JSON 데이터의 키 이름을 매칭해야 합니다.

    import ObjectMapper
    
    class MyModel: Mappable {
        var id: Int?
        var name: String?
    
        required init?(map: Map) {
    
        }
           
        func mapping(map: Map) {
            id <- map["id"]
            name <- map["name"]
        }
    }
    
  3. JSON 데이터 매핑하기: JSON 데이터를 매핑하는 코드는 다음과 같습니다.

    import ObjectMapper
    
    let jsonString = """
    {
        "id": 1,
        "name": "John",
        "age": 25
    }
    """
    
    // JSON 문자열을 JSON 객체로 변환
    if let jsonData = jsonString.data(using: .utf8),
        let jsonObject = try? JSONSerialization.jsonObject(with: jsonData, options: []) as? [String: Any] {
           
        // 필요한 필드만 매핑하기 위해 MappingType을 사용
        let model = Mapper<MyModel>(context: .mappingType(.fromJSON(jsonObject))).map(JSONObject: jsonObject)
    
        print(model?.name) // "John"
    }
    

    위의 예제에서는 JSON 데이터의 “id”와 “name” 필드만 선택적으로 매핑되었습니다. “age” 필드는 모델 클래스에 선언되지 않았기 때문에 무시됩니다.

    ObjectMapper를 사용하여 JSON 데이터의 특정 필드를 선택적으로 매핑하는 방법에 대해 알아보았습니다. 이 기능을 사용하여 필요한 필드만 매핑하여 불필요한 정보를 제거하거나 필요한 정보만 추출할 수 있습니다.

참고 자료: