types'Any'在Swift 3 Xcode 8中没有下标成员

我正试图将我的项目转换为Swift 3并不断收到此错误。 我已经修复了所有其他的错误,但这一个。 我看到其他一些人有问题,但我是JSON的新手,所以我不明白他们。 任何帮助将不胜感激。

这是我的代码:

class func fetchPriceForSymbol(_ symbol: String, completion:@escaping (_ stock: StockPrice) -> ()) { DispatchQueue.global(priority: DispatchQueue.GlobalQueuePriority.default).async { let url = URL(string: "http://finance.yahoo.com/webservice/v1/symbols/\(symbol)/quote?format=json") let data = try? Data(contentsOf: url!) do { //let object = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) let object = try! JSONSerialization.jsonObject(with: data!) if let dictionary = object as? [String: AnyObject] { let title = object["list"] as! NSDictionary let title2 = title["resources"] as AnyObject! let title3 = title2[0] as AnyObject! let title4 = title3["resource"] as AnyObject! let fields = title4["fields"] as AnyObject! let stockPrice = StockPrice ( price: fields["price"] as AnyObject! as! String ) DispatchQueue.main.async { completion(stock: stockPrice) } } } catch { // Handle Error } } } 

在中间的parsing部分试试这个:

  let parsed = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String:Any] let list = parsed["list"] as! [String:Any]? let resources = list?["resources"] as! [AnyObject]? let fields = resources?[0] as! [String:Any]? let resource = fields?["resource"] as! [String:Any]? let fields2 = resource?["fields"] as! [String:Any]? let price = fields2?["price"] as! String? 

你可以尝试改变

 if let dictionary = object as? [String: AnyObject] 

 if let dictionary = object as? NSDictionary