使用alamofire

时间:2017-06-20 07:00:46

标签: json swift3 alamofire

我正在使用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!)")
                }
            }

1 个答案:

答案 0 :(得分:0)

这将完全适用于 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()
}

ViewDidLoad 中访问此功能。