[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 구조체의 속성과 매칭시킬 수 있습니다. 예제에서는 name
과 age
필드를 매핑했습니다. name
필드에는 JSON 데이터의 “name_1”과 “name_2”를, age
필드에는 “age_1”과 “age_2”를 매핑했습니다.
마지막으로, ObjectMapper의 map
함수를 사용하여 JSON 데이터와 매핑한 후, 원하는 값을 얻을 수 있습니다. 예제에서는 person.name
을 출력하여 name 필드의 값을 확인하고 있습니다.
추가적인 자세한 정보는 ObjectMapper의 공식 문서를 참조하시기 바랍니다.
- ObjectMapper: https://github.com/tristanhimmelman/ObjectMapper
- ObjectMapper 공식 문서: https://github.com/tristanhimmelman/ObjectMapper#usage