[swift] ObjectMapper를 사용하여 JSON 데이터의 배열 필드를 분리하는 방법은?

JSON 데이터에서 배열 필드를 분리하고 싶다면 ObjectMapper 라이브러리를 사용할 수 있습니다. ObjectMapper는 Swift에서 JSON 데이터를 객체로 매핑하는 데 사용되는 식별 방식입니다. 아래는 ObjectMapper를 사용하여 JSON 데이터의 배열 필드를 분리하는 방법입니다.

  1. ObjectMapper 라이브러리를 프로젝트에 추가합니다. Cocoapods를 사용하는 경우, Podfile에 다음과 같이 ObjectMapper를 추가합니다.

    pod 'ObjectMapper'
    

    그리고 Terminal에서 pod install 명령을 실행하여 라이브러리를 설치합니다.

  2. 다음과 같이 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"]
        }
    }
    
  3. 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 페이지를 참조하시기 바랍니다.