ios – Alamofire获取请求和JSON响应

我正在尝试使用 Yoda API并使用 Alamofire Swift框架发送请求.我知道API正常工作,因为我已经多次使用我的Mashape API密钥测试了端点.我还可以看到请求正在发送(Mashape的主页在我的申请下).但是我的JSON响应总是为零.
func handleRequest(words:String){
        var saying = words.stringByReplacingOccurrencesOfString(" ",withString: "+");
        saying = "?sentence=" + saying;
        let url = NSURL(string: (baseURL+saying));
        println(url);
        var response:String;
        Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders = additionalHeaders;
        Alamofire.request(.GET,url!).responseJSON { (_,_,JSON,_) in
            println(JSON);

        }
    }

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

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

解决方法

出于某种原因,这也是我对Alamofire JSON请求的一个问题.这是我使用Alamofire处理JSON请求的方式:
Alamofire.request(.GET,urlTo,parameters: nil,encoding: .URL).responseString(completionHandler: {
        (request: NSURLRequest,response: NSHTTPURLResponse?,responseBody: String?,error: NSError?) -> Void in

        // Convert the response to NSData to handle with SwiftyJSON
        if let data = (responseBody as NSString).dataUsingEncoding(NSUTF8StringEncoding) {
            let json = JSON(data: data)
            println(json)
        }
})

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

我希望这对你有帮助.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...