Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用alamofire第一次单击时未获得json响应_Json_Swift3_Alamofire - Fatal编程技术网

使用alamofire第一次单击时未获得json响应

使用alamofire第一次单击时未获得json响应,json,swift3,alamofire,Json,Swift3,Alamofire,我使用alamofire获取JSON响应。 当我第一次点击按钮时,我没有得到回应。我检查了几次,只是为了确定我的网速是否低。互联网速度还可以,但每次发生这种情况时,都不会输入if条件来打印响应。请帮忙。提前感谢 下面是我的代码 Alamofire.request(url).responseJSON { response in if let JSON = response.result.value {

我使用alamofire获取JSON响应。 当我第一次点击按钮时,我没有得到回应。我检查了几次,只是为了确定我的网速是否低。互联网速度还可以,但每次发生这种情况时,都不会输入if条件来打印响应。请帮忙。提前感谢

下面是我的代码

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来做这件事。如果可能,用这个给出解决方案。谢谢你能给我发你网站的链接吗?