[swift] ObjectMapper를 사용하여 JSON 데이터의 필드를 특정 문자열이 포함된 필드로 변환하는 방법은?
-
ObjectMapper 라이브러리 설치 ObjectMapper는 JSON 데이터와 Swift 객체 간의 매핑을 쉽게 처리해주는 라이브러리입니다. CocoaPods를 사용한다면
pod 'ObjectMapper'
으로 추가할 수 있습니다. -
Swift 클래스 생성 JSON 데이터를 매핑할 Swift 클래스를 생성합니다. 예를 들어, JSON 데이터의 필드를
name
에서full_name
으로 변환하고 싶다면 다음과 같이 클래스를 작성할 수 있습니다.import ObjectMapper class User: Mappable { var fullName: String? required init?(map: Map) { } func mapping(map: Map) { fullName <- map["name"] } }
위의 코드에서
fullName
은 변환된 필드의 이름입니다. -
JSON 데이터 매핑 ObjectMapper를 사용하여 JSON 데이터를 위에서 생성한 클래스와 매핑합니다.
let json = """ { "name": "John Doe" } """ if let user = Mapper<User>().map(JSONString: json) { print(user.fullName) // 출력: "John Doe" }
JSONString
은 JSON 데이터를 문자열로 입력받는 메서드입니다. 위의 코드에서는json
변수에 JSON 데이터를 할당한 후,Mapper<User>().map
메서드를 호출하여 매핑을 수행합니다. 이후FullName
속성에 변환된 필드 값인 “John Doe”가 저장됩니다.
위의 예제에서는 fullName
필드를 변환하였지만, ObjectMapper는 좀 더 복잡한 규칙에 따라 필드를 변환할 수 있도록 다양한 기능을 제공합니다. 자세한 내용은 ObjectMapper 공식 문서를 참고하시기 바랍니다.