[swift] ObjectMapper를 사용하여 JSON 데이터의 필드를 특정 문자열로 끝나는 방법은?

예를 들어, 다음과 같은 JSON 데이터가 있다고 가정해 보겠습니다.

{
  "name_1": "John",
  "name_2": "Mary",
  "age_1": 25,
  "age_2": 30
}

우리는 ObjectMapper를 사용하여 이러한 JSON 데이터를 매핑하고, name으로 끝나는 필드와 그 값을 가져오고 싶습니다.

이를 위해서는 ObjectMapper의 map 함수를 사용할 수 있습니다. 다음은 이를 구현한 예제입니다.

import ObjectMapper

struct Person: Mappable {
    var name: String?
    var age: Int?

    mutating func mapping(map: Map) {
        name <- map["name_1", "name_2"]
        age <- map["age_1", "age_2"]
    }
}

let jsonString = """
{
  "name_1": "John",
  "name_2": "Mary",
  "age_1": 25,
  "age_2": 30
}
"""

if let person = Mapper<Person>().map(JSONString: jsonString) {
    print(person.name)  // "John"
}

위의 예제에서는 Person 구조체를 정의하고, Mappable 프로토콜을 따르도록 합니다. 이 프로토콜은 ObjectMapper에서 JSON 데이터를 구조체 또는 클래스로 매핑하기 위해 필요한 기능을 제공합니다.

mapping 함수를 사용하면, JSON 데이터의 특정 필드를 Swift 구조체의 속성과 매칭시킬 수 있습니다. 예제에서는 nameage 필드를 매핑했습니다. name 필드에는 JSON 데이터의 “name_1”과 “name_2”를, age 필드에는 “age_1”과 “age_2”를 매핑했습니다.

마지막으로, ObjectMapper의 map 함수를 사용하여 JSON 데이터와 매핑한 후, 원하는 값을 얻을 수 있습니다. 예제에서는 person.name을 출력하여 name 필드의 값을 확인하고 있습니다.

추가적인 자세한 정보는 ObjectMapper의 공식 문서를 참조하시기 바랍니다.