[swift] ObjectMapper를 사용하여 JSON 데이터의 필드를 기존 값에 추가하는 방법은?
JSON 데이터를 처리할 때 ObjectMapper는 매우 유용한 라이브러리입니다. ObjectMapper를 사용하면 Swift 객체와 JSON 데이터 간의 변환을 쉽게 할 수 있습니다. JSON 데이터의 필드를 기존 값에 추가하는 방법을 알아보겠습니다.
먼저 ObjectMapper를 설치하고 프로젝트에 추가해야 합니다. CocoaPods를 사용한다면 Podfile에 다음과 같이 추가합니다.
pod 'ObjectMapper'
설치가 완료되면, 해당 모델 클래스에 ObjectMapper를 사용할 수 있습니다. JSON 데이터를 처리하려는 모델 클래스에 Mappable
프로토콜을 채택하고, mapping(map: Map)
메서드를 구현합니다.
import ObjectMapper
class MyModel: Mappable {
var name: String?
var age: Int?
required init?(map: Map) {}
func mapping(map: Map) {
name <- map["name"]
age <- map["age"]
}
}
기존에 존재하는 모델에 새로운 필드를 추가하려면, 해당 필드를 모델 클래스에 추가하고 mapping(map: Map)
메서드에서 해당 필드를 매핑합니다.
class MyModel: Mappable {
var name: String?
var age: Int?
var email: String? // 새로운 필드
required init?(map: Map) {}
func mapping(map: Map) {
name <- map["name"]
age <- map["age"]
email <- map["email"] // 새로운 필드 매핑
}
}
이제 ObjectMapper를 사용하여 JSON 데이터를 모델로 변환하고 필드를 추가할 수 있습니다.
let jsonString = """
{
"name": "John",
"age": 25,
"email": "john@example.com"
}
"""
if let myModel = MyModel(JSONString: jsonString) {
print(myModel.name) // "John"
print(myModel.age) // 25
print(myModel.email) // "john@example.com"
}
위의 예시에서는 JSON 데이터의 필드를 기존 값에 추가했습니다. ObjectMapper를 사용하면 JSON 데이터를 모델로 간편하게 변환할 수 있습니다. 추가로 필요한 필드가 있는 경우 모델 클래스에 필드를 추가하고 mapping(map: Map)
메서드에서 필드를 매핑해야 합니다.
참조: