简体   繁体   English

JSON数据返回nil

[英]JSON data returning nil

I am getting data from my server, and trying to convert that into JSON . 我正在从服务器获取数据,并尝试将其转换为JSON On my php script I am converting it to JSON then sending it over. 在我的PHP脚本上,我将其转换为JSON然后将其发送过来。

Here is my code: 这是我的代码:

let url: NSURL = NSURL(string: "https://xxxxxx.com/myFile.php")!
        let request:NSMutableURLRequest = NSMutableURLRequest(url: url as URL)
        let bodyData = "username=\(username.text!)&password=\(password.text!)"
        request.httpMethod = "POST"
        request.httpBody = bodyData.data(using: String.Encoding.utf8);
        request.setValue("application/x-www-form-urlencoded; charset=utf-8", forHTTPHeaderField: "Content-Type")
        NSURLConnection.sendAsynchronousRequest(request as URLRequest, queue: OperationQueue.main)
        {
            (response, data, error) in
            if(error == nil){
                var responseString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)

                DispatchQueue.main.async {
                    let viewController = self.storyboard?.instantiateViewController(withIdentifier: "nextVC") as! ViewController
                    viewController.importData = data!
                    viewController.modalTransitionStyle = .crossDissolve
                    self.present(viewController, animated: true, completion: nil)
                }
            }

        }

ViewController ViewController

var importData = Data() //when I cast this to NSString and print it I see the JSON correctly.
let json = JSON(data: importData) //  this prints nil. 

Any reason why? 有什么原因吗?

Try to convert the response to string and see if the response from server is valid. 尝试将响应转换为字符串,然后查看服务器响应是否有效。

var dataString = String(data: importedData, encoding: .utf8)
print(dataString)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM