[swift] ObjectMapper를 사용하여 JSON 데이터의 특정 필드를 추가하는 방법은?
Swift에서 ObjectMapper는 JSON 데이터를 다루고 모델 객체로 변환하기 위한 강력한 라이브러리입니다. 이 라이브러리를 사용하면 JSON 데이터에 새로운 필드를 추가하거나 기존 필드를 수정할 수 있습니다.
다음은 ObjectMapper를 사용하여 JSON 데이터의 특정 필드를 추가하는 예제 코드입니다.
import ObjectMapper
// JSON 데이터 형식과 일치하는 모델 클래스를 정의합니다.
class User: Mappable {
var name: String?
var age: Int?
required init?(map: Map) {}
func mapping(map: Map) {
name <- map["name"]
age <- map["age"]
}
}
// JSON 데이터를 생성합니다.
let json: [String: Any] = [
"name": "John",
"age": 30
]
// JSON 데이터를 모델 객체로 변환합니다.
if let user = Mapper<User>().map(JSON: json) {
// 기존에 존재하지 않던 필드를 추가합니다.
user.address = "New York"
// 모델 객체를 JSON 데이터로 변환합니다.
if let updatedJson = Mapper<User>().toJSONString(user) {
print(updatedJson)
}
}
위의 예제에서는 User 클래스를 정의하고 ObjectMapper의 Mappable
프로토콜을 채택합니다. mapping(map:)
메서드를 사용하여 JSON 데이터의 필드를 모델 객체의 프로퍼티에 매핑합니다.
JSON 데이터를 모델 객체로 변환한 후에는 기존에 존재하지 않는 필드를 추가할 수 있습니다. 위의 예제에서는 address
필드를 추가했습니다. 모델 객체를 다시 JSON 데이터로 변환하려면 toJSONString(_:)
메서드를 사용합니다. 변환된 JSON 데이터는 문자열 형태로 출력됩니다.
참고 문서: ObjectMapper GitHub 페이지