JSON解析错误:无法读取数据,因为它的格式不正确

时间:2015-12-12 23:21:32

标签: json swift xcode7 asmx

我是Xcode和Swift的新手,并且下面的代码显示print(parseJSON)上的错误。

  

错误:无法读取数据,因为它不正确   格式。

代码正确地将数据发布到服务器,但无法解析响应。

来自我的ASMX页面的JSON响应:

{"status":"Success","message":"User is registered"}

任何帮助将不胜感激。

// Send data to server side

let myURL = NSURL(string: "http://www.examle.com/Info.asmx/Testing")
let request = NSMutableURLRequest(URL: myURL!)
request.HTTPMethod = "POST"

let postString = "Email=\(userEmail!)&Password=\(userPassword!)"
print(postString)

request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)

let task = NSURLSession.sharedSession().dataTaskWithRequest(request){
    data, response, error in

    if error != nil {
        print("error=\(error)")
        return
    }

    //var err: NSError?
    do{
        if let parseJSON = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as? NSDictionary{
            print(parseJSON) // ERROR HERE

            let resultValue = parseJSON["status"] as? String
            print("result: \(resultValue)")

            var isUserRegistered:Bool = false
            if (resultValue == "Success") {
                isUserRegistered = true
            }

            var messageToDisplay:String = parseJSON["message"] as! String!

            if (!isUserRegistered){
                messageToDisplay = parseJSON["message"] as! String!
            }

            dispatch_async(dispatch_get_main_queue(), {
                let myAlert = UIAlertController(title: "Alert", message: messageToDisplay, preferredStyle: UIAlertControllerStyle.Alert)

                let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default){ action in
                    self.dismissViewControllerAnimated(true, completion: nil)
                }

                myAlert.addAction(okAction)
                self.presentViewController(myAlert, animated: true, completion: nil)
            })
        }
    } catch let error as NSError {
         print(error.localizedDescription)
    }

}

task.resume()

0 个答案:

没有答案