大佬教程收集整理的这篇文章主要介绍了ios – 为什么我会收到错误代码= 3840解析JSON?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是字符串中的返回值,我显然从LoopBACk获得了正确的JSON响应,一个身份验证令牌,ttl,date和userId:
我认为实际问题不是在parseJSON方法中发生,而是在performLoginrequestWithURL方法中发生.它返回一个空字符串.与异步请求有关.我注意到json字符串变量在从方法返回之后才会被设置,因此它返回空白.如果我放两个println(json)方法,一个在异步请求中,一个在它之后,一个先打印.这在某种程度上是有道理的,但我不知道如何解决这个问题.我需要从帖子中返回json,但我不知道如何捕获它.有些东西告诉我我需要使用同步请求,但我不知道如何在这个从POST请求获取json的上下文中这样做.
这是我的代码:
//Login button pressed @IBACtion func login() { //Gets url String let url = getLogin() //Posts url with UITextField data. if let jsonString = performLoginrequestWithURL(url) { //Error occurs in the parseJSON method if let Dictionary = parseJSON(jsonString) { /* if let at = DictionarY["id"] as? String { accesstoken = at } if let id = DictionarY["userId"] as? Int { println(id) } */ } } } func getLogin() -> NSURL { let toEscape = "http://localhost:3000/api/Users/login" let urlString = toEscape.StringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)! let url = NSURL(String: urlString) return url! } func performLoginrequestWithURL(url: NSURL) -> String? { let bodyData = "username=\(textEmail.text)&password=\(textPW.text)" var request: NSMutableURLrequest = NSMutableURLrequest(URL: url) var json = "" request.httpR_607_11845@ethod = "POST" request.httpBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding) NSURLConnection.sendAsynchronousrequest(request,queue: NSOperationQueue.mainQueue()){ response,data,error in if Data != nil { json = NSString(data: data,encoding: NSUTF8StringEncoding) as! String } println(json) } return json } func parseJSON(jsonString: String) -> [String: AnyObject]? { if let data = jsonString.dataUsingEncoding(NSUTF8StringEncoding) { var error: NSError? if let json = NSJSONserialization.JSONObjectWithData(data,options: NSJSONReadingOptions(0),error: &error) as? [String: AnyObject] { return json } else if let error = error { //Here's where the error comes BACk. println("JSON Error: \(error)") } else { println("UnkNown JSON Error") } } return nil }
以上是大佬教程为你收集整理的ios – 为什么我会收到错误代码= 3840解析JSON?全部内容,希望文章能够帮你解决ios – 为什么我会收到错误代码= 3840解析JSON?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。