2016-04-14 8 views
0

Я написал следующий фрагмент кода:Как напечатать элементы словаря JSON по индексу?

do { 
    let json = try NSJSONSerialization.JSONObjectWithData(data, options: []) as! Dictionary<String, AnyObject> 

    for i in 0...json.count - 1 { 
     print(json[i]["title"]) 
    } 
} catch let error as NSError { 
    print(error) 
} 

Я получаю сообщение об ошибке в этом случае:

Cannot subscript a value of type 'Dictionary<String, AnyObject>' with an index of type 'Int' 

Я хочу, чтобы получить элементы по индексу. Я всегда работал с Alamofire, но сегодня я хочу делать все по-умолчанию. Может кто-нибудь мне помочь?

+0

Что делает ваш JSON выглядеть? Если это * словарь *, то он не имеет определенного порядка. Если это * массив *, вы не должны бросать его в словарь. –

+0

@MartinR нравится это - 'как! [String: AnyObject] '? –

ответ

1

Ваш json является словарь (Dictionary<String, AnyObject>), если вы хотите перебрать словарь следует использовать следующий синтаксис:

for (someString, someAnyObject) in json { 
    print(someString, someAnyObject) 
} 

рассверлить более here

+0

нет, Мартин был прав. Если я хочу заказать его, мне не нужно использовать NSDictionary. В вашем случае я получаю доступ к ключевому значению, но я хочу заказать его как 'json [5] [" title "]' –

Смежные вопросы