Ваш ответ является объектом, и вы можете получить к нему доступ через map.JSON
, а его тип - [String: Any]
. Тогда вы можете использовать это как обычный Dictionary
.
Здесь я создаю класс с именем Model
, который имеет массив элементов (типа Item
) и в func mapping(:Map)
я сопоставил map.JSON
элементы с Item
.
class Model: Mappable {
typealias Item = (id: String, count: Int)
var items: [Item] = []
required init?(map: Map) {
}
func mapping(map: Map) {
let rawDictionary = map.JSON
let items = rawDictionary.compactMap { (key, value) -> Item? in
guard let intValue = value as? Int else { return nil }
return (key, intValue)
}
self.items = items
}
}
let jsonString = """
{
"123123": 10,
"435555": 2,
"435333": 8,
"567567": 4
}
"""
let model = Model(JSONString: jsonString)
print(model?.items[0]) //Optional((id: "123123", count: 10))