Swift 2 Json NSDictionary to String给出Optional(" String")错误

时间:2016-02-08 16:14:37

标签: ios json swift nsdictionary

我有工作json解析代码,当我举例时,将[" name"]发布为? String给出输出可选(" John")

我只想输出=约翰

我的代码在这里

func post(url : String, completionHandler : ((success : Int, message : String) -> Void)) {

        guard let url = NSURL(string: url as String) else {

            return
        }

        let urlRequest = NSURLRequest(URL: url)


        let config = NSURLSessionConfiguration.defaultSessionConfiguration()
        let session = NSURLSession(configuration: config)

        let task = session.dataTaskWithRequest(urlRequest, completionHandler: { (data, response, error) in
            guard let responseData = data else {

                return
            }
            guard error == nil else {

                print(error)
                return
            }

            let post: NSDictionary
            do {
                post = try NSJSONSerialization.JSONObjectWithData(responseData,
                    options: []) as! NSDictionary
            } catch  {

                return
            }

            // Add user limits to Session

            let name = post["name"] as? String


            print(name) // Here gives output Optional("John")




            let numberFromString = Int((post["success"] as? String)!)

            completionHandler(success: (numberFromString)!, message: (post["message"] as? String)!)

        })
        task.resume()

    }

您可以在此处查看我的所有工作代码。 我只想输出=约翰,

谢谢。

1 个答案:

答案 0 :(得分:1)

您正在打印一个可选值,这意味着您需要打开它。 E.g。

print(name!)

但如果name为零,则会崩溃。