[swift] ObjectMapper를 사용하여 JSON 데이터의 배열 필드를 분리하는 방법은?
JSON 데이터에서 배열 필드를 분리하고 싶다면 ObjectMapper 라이브러리를 사용할 수 있습니다. ObjectMapper는 Swift에서 JSON 데이터를 객체로 매핑하는 데 사용되는 식별 방식입니다. 아래는 ObjectMapper를 사용하여 JSON 데이터의 배열 필드를 분리하는 방법입니다.
-
ObjectMapper 라이브러리를 프로젝트에 추가합니다. Cocoapods를 사용하는 경우, Podfile에 다음과 같이 ObjectMapper를 추가합니다.
pod 'ObjectMapper'
그리고 Terminal에서
pod install
명령을 실행하여 라이브러리를 설치합니다. -
다음과 같이 JSON 데이터의 형태를 정의하는 Swift 구조체를 생성합니다.
import ObjectMapper struct Person: Mappable { var name: String? var age: Int? var hobbies: [String]? init?(map: Map) { } mutating func mapping(map: Map) { name <- map["name"] age <- map["age"] hobbies <- map["hobbies"] } }
-
JSON 데이터를 가져와서 원하는 필드를 분리한 다음 객체로 매핑합니다.
import ObjectMapper let jsonString = """ { "name": "John", "age": 28, "hobbies": ["reading", "sports", "music"] } """ if let person = Mapper<Person>().map(JSONString: jsonString) { // 필요한 필드에 접근하여 사용합니다. let name = person.name let age = person.age let hobbies = person.hobbies }
위의 예제에서 person
객체를 생성한 후에는 name
, age
, hobbies
등 필요한 필드에 바로 접근할 수 있습니다. 필요한 경우 person
객체를 다른 클래스나 구조체에 할당할 수도 있습니다.
배열 필드의 경우 hobbies
와 같이 [String]
로 선언하면 JSON 데이터에서 해당 필드의 배열을 매핑할 수 있습니다.
추가적인 정보는 ObjectMapper 라이브러리의 공식 GitHub 페이지를 참조하시기 바랍니다.