Swift到Swift 3代码转换:读取JSON文件
问题描述:
我有用于阅读JSON文件的代码,我试图进入Swift 3环境。那就是:Swift到Swift 3代码转换:读取JSON文件
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
}
Xcode中给出了产生这种建议修正一些错误(如一些对象和类已更名):
do {
//Problem here: parameters don't match overrides
let dictionary = try JSONSerialization.jsonObject(dataOK as Data, options: JSONSerialization.ReadingOptions()) as AnyObject!
dictionaryOK = (dictionary as! NSDictionary as? Dictionary <String, AnyObject>)!
}
catch {
print("Level file '\(filename)' is not valid JSON: \(error)")
return nil
}
不匹配任何一个JSONObjects覆盖的(它说)。我检查了说jsonObjects的参数应该是:
class func jsonObject(with data: Data,
options opt: JSONSerialization.ReadingOptions = []) throws -> AnyObject
我在做什么错?
答
你的Swift 2代码是非常详细的开始。
试试这个:
do {
if let dictionaryOK = try JSONSerialization.jsonObject(with: dataOK, options: []) as? [String: AnyObject] {
// parse JSON
}
} catch {
print(error)
}