我需要向 api 发出 post 请求并从响应中获取数据。api 返回以下响应:
{
valid: true
}
或者
{
valid: false
}
我的 Alamofire 请求如下所示:
parameters = ["key": "somekey"]
let headers: HTTPHeaders = [
"Content-Type": "application/json",
"Authorization": "JWT \(token)"
]
Alamofire.request(baseURL, method: .post, parameters: parameters, headers: headers).responseJSON{
response in
if let result = response.result.value {
let JSON = result as! NSDictionary
print(JSON) //{ detail = "JSON parse error - Expecting value: line 1 column 1 (char 0)"}
}
我似乎无法从服务器获取 JSON 数据来提取valid
. 相反,我收到错误:detail = "JSON parse error - Expecting value: line 1 column 1 (char 0)" from the server
结果我没有在请求中包含一个重要的参数encoding: JSONEncoding.default
。(我猜顺序很重要)这是有效的:
parameters = ["key": "somekey"]
let headers: HTTPHeaders = [
"Content-Type": "application/json",
"Authorization": "JWT \(token)"
]
Alamofire.request(baseURL, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers)
.responseJSON{
response in
if let result = response.result.value {
let JSON = result as! NSDictionary
print(JSON) //SUCCESS :{valid: 0}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句