Alamofire 获取请求和 JSON 响应
Alamofire Get Request and JSON Response
我正在尝试使用 Yoda API and send a request using the Alamofire Swift 框架。我知道 API 正常工作,因为我已经多次使用 Mashape API 键测试端点。我还可以看到正在发送请求(在我的应用程序下的 Mashape 主页)。但是我的 JSON 回复总是 nil
.
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);
}
}
words 字符串可以是 "This is my first sentence",它会根据 API 规范自动将空格替换为“+”。 请忽略多个println
语句,它们只是为了调试。
这只是概念代码的证明,它有意不做太多错误检查,因此并不漂亮。如果您有任何建议,我将不胜感激。
Alamofire 请求有几种处理响应的方法。尝试处理数据响应并将其转换为字符串。确认响应 JSON 正常。
Alamofire.request(.GET, url!).response { (_, _, data, error) in
let str = NSString(data: data, encoding: NSUTF8StringEncoding)
println(str)
println(error)
}
解析 JSON 数据时也出现结帐错误。
出于某种原因,JSON 的 Alamofire 请求也是一个问题。这是我使用 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,这取决于您。
希望对你有所帮助。
我正在尝试使用 Yoda API and send a request using the Alamofire Swift 框架。我知道 API 正常工作,因为我已经多次使用 Mashape API 键测试端点。我还可以看到正在发送请求(在我的应用程序下的 Mashape 主页)。但是我的 JSON 回复总是 nil
.
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);
}
}
words 字符串可以是 "This is my first sentence",它会根据 API 规范自动将空格替换为“+”。 请忽略多个println
语句,它们只是为了调试。
这只是概念代码的证明,它有意不做太多错误检查,因此并不漂亮。如果您有任何建议,我将不胜感激。
Alamofire 请求有几种处理响应的方法。尝试处理数据响应并将其转换为字符串。确认响应 JSON 正常。
Alamofire.request(.GET, url!).response { (_, _, data, error) in
let str = NSString(data: data, encoding: NSUTF8StringEncoding)
println(str)
println(error)
}
解析 JSON 数据时也出现结帐错误。
出于某种原因,JSON 的 Alamofire 请求也是一个问题。这是我使用 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,这取决于您。
希望对你有所帮助。