swift2 读取来自Json Post Call Swift的响应

h9vpoimq  于 2022-11-06  发布在  Swift
关注(0)|答案(2)|浏览(167)

java应用程序中,我们通过使用下面的代码从REST获得字符串形式的响应。

String response = performPostCall(wmeAPI.vote("" + rowItem.getPoll_id()), has);

在swift中,我使用Alamofire进行后续调用
我打了个电话

Alamofire.request(.POST, url, parameters: parameters, encoding:.JSON).responseString
            { response in switch response.result {
                case .Success(let JSON):
                    print("Success \(JSON)")
                case .Failure(let error):
                    print("Request failed with error: \(error)")
                    }
        }

如何从这个发布调用中获取响应字符串。

jutyujz0

jutyujz01#

您需要使用响应JSON
因此,请将responseString更改为responseJSON
例如:

Alamofire.request(.GET, "YOUR_URL").responseJSON { (responseData) -> Void in
    if((responseData.result.value) != nil) {
        let swiftyJsonVar = JSON(responseData.result.value!)
        print(swiftyJsonVar)
    }
}

对于POST调用:

Alamofire.request(.POST, "YOUR_URL", parameters: nil, encoding: ParameterEncoding.JSON, headers: nil).responseJSON { (responseObject) -> Void in

    print(responseObject)

    if responseObject.result.isSuccess {
        let resJson = JSON(responseObject.result.value!)
        print(resJson)
    }
    if responseObject.result.isFailure {
        let error : NSError = responseObject.result.error!
        print(error)
    }
}
gz5pxeao

gz5pxeao2#

如果您选中Alamofire Doc.,则已经定义了如何获取响应字符串以及如何获取响应JSON

响应JSON处理程序

Alamofire.request(.GET, "https://httpbin.org/get")
     .responseJSON { response in
         debugPrint(response)
     }

响应字符串处理程序

Alamofire.request(.GET, "https://httpbin.org/get")
     .responseString { response in
         print("Success: \(response.result.isSuccess)")
         print("Response String: \(response.result.value)")
     }

链接响应处理程序

Alamofire.request(.GET, "https://httpbin.org/get")
     .responseString { response in
         print("Response String: \(response.result.value)")
     }
     .responseJSON { response in
         print("Response JSON: \(response.result.value)")
     }

请参阅Alamofire Usage

相关问题