2016-09-14 2 views
2

Я получил этот JSON:Как напечатать значения JSON, используя цикл в Swift 3?

{ 
    cover =  { 
     id = 1; 
}; 
    description = "Test" 
place =  { 
     id = 11; 
     location =   { 
      city = Wheatley; 
      }; 
     name = "Wheatley Provincial Park"; 
     }; 
}, 
{ 
    cover =  { 
     id = 2; 
}; 
    description = "Cool" 
place =  { 
     id = 22; 
     location =   { 
      city = Wheatley; 
      }; 
     name = "Wheatley Provincial Park"; 
     }; 
} 

Это мой код:

if let fbData = result as? [String : Any] { 
    print(fbData) 

    for events in fbData { 
     print (events["name"] as! String) 
     //this displays an error 
     //Type (Key: String, value: Any) has subscript members 
} 

}

Но я не знаю, как цикл через них

Я уже пробовал эти но они никогда не работали:

JSON Parsing in Swift 3

Correctly Parsing JSON in Swift 3

Parsing JSON using Swift 3

+0

'[String: Any]': Вы знаете, почему вы это пишете? Если нет, вы можете понять, как читать/цитировать массивы и словари. Если да, JSON - это просто строка, числа, массивы и словари. – Larme

+0

Было бы полезно, если бы мы могли видеть * реальный * JSON не только этот псевдо-JSON, который вы, вероятно, получили с консоли. –

+0

Это настоящий JSON? –

ответ

6
if let array = result as? [String : AnyObject]{ 
    if let fbData = array["data"] as? [[String : AnyObject]] { 
     print(fbData) 

     for event in fbData { 
      print (event["name"] as! String) 
     } 
    } 
} 
  1. result имеет Any типа
  2. Cast его в словарь - [String : AnyObject]
  3. Экстракт data и приведение к массиву словарей - [[String : AnyObject]].