使用alamofire第一次单击时未获得json响应
我使用alamofire获取JSON响应。 当我第一次点击按钮时,我没有得到回应。我检查了几次,只是为了确定我的网速是否低。互联网速度还可以,但每次发生这种情况时,都不会输入if条件来打印响应。请帮忙。提前感谢 下面是我的代码使用alamofire第一次单击时未获得json响应,json,swift3,alamofire,Json,Swift3,Alamofire,我使用alamofire获取JSON响应。 当我第一次点击按钮时,我没有得到回应。我检查了几次,只是为了确定我的网速是否低。互联网速度还可以,但每次发生这种情况时,都不会输入if条件来打印响应。请帮忙。提前感谢 下面是我的代码 Alamofire.request(url).responseJSON { response in if let JSON = response.result.value {
Alamofire.request(url).responseJSON { response in
if let JSON = response.result.value
{
let responseRes = JSON as? Dictionary<String,AnyObject>
print("Response = \(responseRes!)")
}
}
Alamofire.request(url.responseJSON{response in
如果让JSON=response.result.value
{
让responseRes=JSON作为字典
打印(“响应=\(响应!)”)
}
}
这将在Swift 3.1中完美运行
func testURL () {
let parameter = ["id": 19, "name": "", "image_name": "", "largeimage": "", "catdata": ["category_name"]] as [String: Any]
//Here parameter as per your web service.
//var parameter = [String : Any]()
//print("t:-\(parameter)")
guard let url = URL(string: "YourWebServiceURL") else { return }
var request = URLRequest(url: url)
request.httpMethod = "POST"
guard let httpBody = try? JSONSerialization.data(withJSONObject: parameter, options: []) else { return }
request.httpBody = httpBody
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession.shared
session.dataTask(with: request) {(data:Data?, response:URLResponse?, error:Error?) in
if let response = response {
print(response)
do {
let json = try JSONSerialization.jsonObject(with: data!) as! [String: Any]
print(json["data"]!)
let dataarray = json["data"]! as! Array<Any>
for i in dataarray {
let webServiceArray = i as! [String : Any]
//Below all the Object as per you webService objects.
print(webServiceArray["name"]!)
print(webServiceArray["largeimage"]!)
print(webServiceArray["image_name"]!)
print(webServiceArray["id"]!)
}
} catch {
print("Error deserializing JSON: \(error)")
}
}
}
.resume()
}
func testURL(){
将参数=[“id”:19,“名称”:““图像\名称”:““大图像”:““catdata”:[“类别\名称”]]设为[字符串:任意]
//此处参数根据您的web服务而定。
//var参数=[String:Any]()
//打印(“t:-\(参数)”)
guard let url=url(字符串:“YourWebServiceURL”)else{return}
var-request=URLRequest(url:url)
request.httpMethod=“POST”
guard let httpBody=try?JSONSerialization.data(带jsonObject:parameter,options:[])else{return}
request.httpBody=httpBody
request.addValue(“应用程序/json”,forHTTPHeaderField:“内容类型”)
让session=URLSession.shared
会话中的session.dataTask(带:请求){(数据:数据?、响应:URLResponse?、错误:错误?)
如果让响应=响应{
打印(答复)
做{
让json=try JSONSerialization.jsonObject(with:data!)作为![String:Any]
打印(json[“数据”]!)
让dataarray=json[“数据”]!as!数组
对于数据数组中的i{
让webServiceArray=i作为![字符串:任意]
//下面的所有对象都与您的webService对象一致。
打印(webServiceArray[“名称”]!)
打印(webServiceArray[“大图像”]!)
打印(webServiceArray[“图像名称”]!)
打印(webServiceArray[“id”]!)
}
}抓住{
打印(“反序列化JSON:\(错误)”时出错)
}
}
}
1.简历()
}
在查看加载中访问此功能 请尝试:-让responseRes=JSON[“数据”]!作为!ArrayI想用alamofire来做这件事。如果可能,用这个给出解决方案。谢谢你能给我发你网站的链接吗?