[swift] ObjectMapper를 사용하여 Swift 객체의 배열과 JSON 데이터의 배열 사이에 양방향 매핑을 수행하는 방법은 무엇인가요?
-
ObjectMapper 설치하기: ObjectMapper를 사용하기 위해 먼저 프로젝트에 ObjectMapper를 설치해야 합니다. CocoaPods를 사용한다면, Podfile에 다음과 같이 추가합니다.
pod 'ObjectMapper'
그리고
pod install
명령을 터미널에서 실행하여 설치합니다. -
Swift 객체 정의하기: 매핑을 수행하기 위해 매핑할 Swift 객체를 정의해야 합니다. 예를 들어, 다음과 같은
Person
객체를 정의합니다.import ObjectMapper class Person: Mappable { var name: String? var age: Int? required init?(map: Map) { } func mapping(map: Map) { name <- map["name"] age <- map["age"] } }
Mappable
프로토콜을 채택하여 ObjectMapper의 매핑 기능을 사용할 수 있습니다.name
과age
변수는 JSON 데이터의name
과age
키와 매핑됩니다. -
객체 배열과 JSON 배열 간 매핑하기: ObjectMapper를 사용하여 객체 배열과 JSON 배열 간의 매핑을 수행하려면 다음과 같은 방법을 이용할 수 있습니다.
-
객체 배열 → JSON 배열:
toJSONArray()
메서드를 사용하여 객체 배열을 JSON 배열로 변환할 수 있습니다.let people: [Person] = [...] // 객체 배열 초기화 let json = Mapper<Person>().toJSONArray(people)
-
JSON 배열 → 객체 배열:
mapArray(JSONString:)
메서드를 사용하여 JSON 배열을 객체 배열로 변환할 수 있습니다.let jsonString = "[{\"name\":\"Alice\",\"age\":25},{\"name\":\"Bob\",\"age\":30}]" let people = Mapper<Person>().mapArray(JSONString: jsonString)
이때,
JSONString:
뒤에는 JSON 문자열이 입력되어야 합니다.
각각의 방법은 ObjectMapper를 사용하여 Swift 객체 배열과 JSON 데이터 배열 간의 양방향 매핑을 손쉽게 수행할 수 있게 해줍니다.
-
자세한 내용은 ObjectMapper의 문서를 참조하세요. 참조 링크