Swift 2到3迁移jsonObject生成'Any'而不是预期的上下文结果类型'AnyObject?'

Jos*_*han 8 json swift swift2 swift3 ios10

我正在尝试将以下代码从此库(https://github.com/dankogai/swift-json)转换为Swift 3兼容代码.

我虽然坚持这条线.

obj = try JSONSerialization.jsonObject(
Run Code Online (Sandbox Code Playgroud)

我得到的错误是jsonObject产生'Any',而不是预期的上下文结果类型'AnyObject?'

我尝试在完整上下文中转换为swift 3之前的代码如下.

public convenience init(data:NSData) {
        var err:NSError?
        var obj:AnyObject?
        do {
            obj = try NSJSONSerialization.JSONObjectWithData(
                data, options:[])
        } catch let error as NSError {
            err = error
            obj = nil
        }
        self.init(err != nil ? err! : obj!)
    }
Run Code Online (Sandbox Code Playgroud)

小智 14

在Swift id中,现在导入的类型Any不是AnyObject.您可以更改objto 的类型Any或将其转换为AnyObject.