Swift到Swift 3代码转换:读取JSON文件

Swift到Swift 3代码转换:读取JSON文件,json,swift,swift3,error-handling,Json,Swift,Swift3,Error Handling,我有这段代码用于读取JSON文件,我正在尝试将其移动到Swift 3环境中。这是: do { let dictionary = try NSJSONSerialization.JSONObjectWithData(dataOK, options: NSJSONReadingOptions()) as AnyObject! dictionaryOK = (dictionary as! NSDictionary as? Dictionary <String, AnyOb

我有这段代码用于读取JSON文件,我正在尝试将其移动到Swift 3环境中。这是:

do {
    let dictionary = try NSJSONSerialization.JSONObjectWithData(dataOK, options: NSJSONReadingOptions()) as AnyObject!
        dictionaryOK = (dictionary as! NSDictionary as? Dictionary <String, AnyObject>)!
  }
catch {
    print("Level file '\(filename)' is not valid JSON: \(error)")
    return nil
}

我做错了什么?

您的Swift 2代码一开始就非常冗长

试试这个:

do {
    if let dictionaryOK = try JSONSerialization.jsonObject(with: dataOK, options: []) as? [String: AnyObject] {
        // parse JSON
    }
} catch {
    print(error)
}
class func jsonObject(with data: Data, 
           options opt: JSONSerialization.ReadingOptions = []) throws -> AnyObject
do {
    if let dictionaryOK = try JSONSerialization.jsonObject(with: dataOK, options: []) as? [String: AnyObject] {
        // parse JSON
    }
} catch {
    print(error)
}