Swift에서 ObjectMapper는 매우 편리한 JSON 매핑 라이브러리입니다. 이를 사용하여 JSON 데이터를 Swift 배열로 매핑하는 방법을 알아보겠습니다.
- ObjectMapper 설치하기
먼저, ObjectMapper를 설치해야 합니다. Cocoapods를 사용하는 경우, Podfile에 다음을 추가하고 pod install
명령을 실행합니다.
pod 'ObjectMapper'
- ObjectMapper를 사용하여 JSON 배열로 매핑하기
JSON 데이터를 Swift 배열로 매핑하기 위해서는 ObjectMapper를 사용하는 클래스나 구조체가 필요합니다. 예를 들어, 다음과 같은 JSON 데이터가 있다고 가정해봅시다.
[
{
"id" : 1,
"name" : "John"
},
{
"id" : 2,
"name" : "Jane"
}
]
그리고 아래와 같이 User
라는 구조체를 만들어줍니다.
struct User: Mappable {
var id: Int?
var name: String?
init?(map: Map) {}
mutating func mapping(map: Map) {
id <- map["id"]
name <- map["name"]
}
}
위의 코드에서 Mappable
은 ObjectMapper가 요구하는 프로토콜입니다. User
구조체의 id
와 name
속성은 JSON 데이터의 키와 일치해야 합니다.
이제 다음과 같이 ObjectMapper를 사용하여 JSON 데이터를 배열로 매핑할 수 있습니다.
import ObjectMapper
let jsonString = "JSON 데이터 문자열"
if let users = Mapper<User>().mapArray(JSONString: jsonString) {
// users 배열 사용하기
}
위의 코드에서 JSONString
은 매핑할 JSON 데이터의 문자열 표현입니다.
- 매핑 결과 사용하기
매핑한 배열은 특정한 구조체나 클래스의 인스턴스 배열로 저장됩니다. 따라서 users
배열에 접근하여 매핑 결과를 사용할 수 있습니다. 예를 들어, 다음과 같이 users
배열을 반복하면서 각 사용자의 이름을 출력할 수 있습니다.
for user in users {
if let name = user.name {
print(name)
}
}
위의 예제에서는 ObjectMapper를 사용하여 JSON 데이터를 배열로 매핑하는 방법을 알아보았습니다. ObjectMapper는 다양한 기능을 제공하므로, 필요에 따라 추가적인 설정을 할 수도 있습니다. 자세한 내용은 ObjectMapper의 문서를 참조해주세요.
참고 자료:
- ObjectMapper 공식 문서: https://github.com/tristanhimmelman/ObjectMapper