2016-05-04 5 views
0

Я использую SwiftyJSON с NSURLSession.sharedSession(). DataTaskWithURL и openweathermap.org. Я возвращаю данные и могу вытащить значения. Но мне не удастся попытаться получить «основное» в примере ниже.Как разобрать это с SwiftyJSON?

Вот первая часть JSON, который возвращается:

{ 
    "cod" : 200, 
    "weather" : [ 
    { 
     "id" : 800, 
     "description" : "clear sky", 
     "main" : "Clear", 
     "icon" : "01d" 
    } 
    ], 


if let data = data { 
    let json = JSON(data: data) 
    main = json["weather"]["main"].stringValue 

main не содержит ничего. json["weather"].stringValue также не содержит ничего. Любые идеи, что я делаю неправильно?

ответ

3

Попробуйте сделать это, чтобы получить первый элемент в массиве:

json["weather"][0]["main"].stringValue 

По этой линии в SwiftyJSON примере документации:

json[1]["list"] 

это способ получить элементы в массиве JSON

+1

Правильно! Я думаю, что стоит подчеркнуть, что 'json [" weather "]' является _array_, а не _object_, поскольку OP, похоже, ожидает. Если бы это был объект, то фрагмент кода OP работал бы корректно. –

+0

Очень хорошо, спасибо @CraigOtis – brimstone

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