在 swift 4 中使用 Alamofire 发出请求时,来自服务器的 JSON 解析错误

斯蒂芬·尼亚姆韦亚

我需要向 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用新的Swift 3和Alamofire解析JSON

如何在Alamofire 4和Swift 3中使用代理服务器

如何使用Alamofire 4在Swift 3中发送带有参数和正文的JSON数据的POST请求?

Swift 2中使用Alamofire进行错误处理

在Alamofire 4中使用SwiftyJson为MultipartFormData请求创建JSON数据

使用Alamofire 4解析嵌套的JSON

使用Alamofire和解码获取JSON-Swift 4

解析通过Alamofire(Swift)接收的JSON数据时出错

使用Swift,AlamoFire和SwiftyJSON解析JSON数据

使用Alamofire迅速4解析JSON而无需密钥

使用Alamofire在Swift 4中解析YouTube api

如何在iOS Swift中使用Alamofire获得JSON响应?

在Swift中使用Alamofire处理JSON响应

在Swift中使用Alamofire解析JSON响应

在Swift中使用JSON使用Alamofire请求后,如何在AnyObject中转换<AnyObject>响应?

尝试连接到我的服务器时使用Alamofire和Swift出现401错误

Swift Alamofire JSON解析

使用Alamofire在Swift 3中进行Json解析

Alamofire JSON请求Swift 3

使用未解析的标识符 'json' (Swift 3) (Alamofire)

尝试使用 Alamofire 在 Swift 3 中解析 JSON

Swift 使用 Alamofire 发出 http 请求

使用 Swift 4 Decodable 的 JSON/简单文本解析服务器响应

如何使用 Alamofire、Swift 4 获取 UICollectionView 的 JSON 数据

在获取 JSON 值时发出 SWIFT Alamofire

Swift 4 使用 Alamofire 解析 JSON 以获得关键值的痛苦

swift alamofire 请求 json 异步

解析来自服务器 Swift 的 JSON 数据时出现问题

使用 alamofire JSON 请求出现错误请求错误