在swift ios中解析NSJSON序列化中的json时出错

时间:2017-01-16 08:36:39

标签: ios swift2 swift3 nsjsonserialization

 func connectionDidFinishLoading(_ connection: NSURLConnection)
    {

    NSLog("\(statusResponseData)")

    let strData:NSDictionary! = (try! JSONSerialization.jsonObject(with: statusResponseData, options: JSONSerialization.ReadingOptions.mutableContainers)) as! NSDictionary

当我将代码从swift 2.2转换为swift 3.0时,我收到以下错误。

  

无法使用列表类型的参数调用json对象(使用NSMutable数据!选项:JSONSerialization.ReadingOptions)。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

替换:

 let strData:NSDictionary! = (try! JSONSerialization.jsonObject(with: statusResponseData, options: JSONSerialization.ReadingOptions.mutableContainers)) as! NSDictionary

使用:

 if let strData = try JSONSerialization.jsonObject(with: statusResponseData, options: []) as! JSONObject {
        //Do what you need to!
      }

我不知道为什么所有教程都建议使用mutableContainers选项。在使用本机集合类型时,您根本不需要它。