ios – Alamofire获取请求和JSON响应

前端之家收集整理的这篇文章主要介绍了ios – Alamofire获取请求和JSON响应前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用 Yoda API并使用 Alamofire Swift框架发送请求.我知道API正常工作,因为我已经多次使用我的Mashape API密钥测试了端点.我还可以看到请求正在发送(Mashape的主页在我的申请下).但是我的JSON响应总是为零.
  1. func handleRequest(words:String){
  2. var saying = words.stringByReplacingOccurrencesOfString(" ",withString: "+");
  3. saying = "?sentence=" + saying;
  4. let url = NSURL(string: (baseURL+saying));
  5. println(url);
  6. var response:String;
  7. Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders = additionalHeaders;
  8. Alamofire.request(.GET,url!).responseJSON { (_,_,JSON,_) in
  9. println(JSON);
  10.  
  11. }
  12. }

单词string可以是“这是我的第一句话”,它将根据API规范自动用“”替换空格.请忽略多个println语句,它们仅用于调试.

这只是概念代码的证明,它故意没有做太多的错误检查,并且由于这个原因不是很好.如果您有任何建议我会很感激.

解决方法

出于某种原因,这也是我对Alamofire JSON请求的一个问题.这是我使用Alamofire处理JSON请求的方式:
  1. Alamofire.request(.GET,urlTo,parameters: nil,encoding: .URL).responseString(completionHandler: {
  2. (request: NSURLRequest,response: NSHTTPURLResponse?,responseBody: String?,error: NSError?) -> Void in
  3.  
  4. // Convert the response to NSData to handle with SwiftyJSON
  5. if let data = (responseBody as NSString).dataUsingEncoding(NSUTF8StringEncoding) {
  6. let json = JSON(data: data)
  7. println(json)
  8. }
  9. })

我强烈建议您使用SwiftyJSON以更好,更简单的方式管理JSON,这取决于您.

我希望这对你有帮助.

猜你在找的iOS相关文章