2016-12-13 1 views
0

У меня есть словарь следующего типа:Получение данных, если ключ доступен в словаре

{ 
    "filter": { 
    "year_option": { 
     "2015": "2015", 
     "2016": "2016" 
    }, 
    "month_option": { 
     "10": "Oct", 
     "11": "Nov", 
     "12": "Dec", 
     "01": "Jan", 
     "02": "Feb", 
     "03": "Mar", 
     "04": "Apr", 
     "05": "May", 
     "06": "Jun", 
     "07": "Jul", 
     "08": "Aug", 
     "09": "Sept" 
    } 
    } 
} 

Это ответ от API. Клавиши в Dictionary могут отличаться для каждого пользователя. Так есть ли способ получить значения Dictionary только в том случае, если key is available?

+0

Вы должны смотреть на SwiftyJSON – HaneTV

+0

@HaneTV Нет необходимости использовать огромную библиотеку для такой простой задачи. – Moritz

ответ

0

Конечно, есть способ. Используйте if let, чтобы проверить, есть ли ключ. Например:

if let key1 = yourDict["key1"] { 
    // do something with key1 
} 

Чтобы использовать пример:

if let filter = yourDict["filter"] as? [String: Any] { 
    if let yearOption = filter["year_option"] as? [String: String] { 
     // there is the year_option JSON 
    } 
    if let monthOption = filter["month_option"] as? [String:String] { 
     // there is the month option JSON 
    } 
} 
Смежные вопросы