Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(错误域=NSCocoaErrorDomain 代码=3840

Ani*_*ive 7 iphone xcode ios swift alamofire

我正在开发 swift 项目并使用 Alamofire 调用 webservice。但是,在调用 post 方法时,出现以下错误。

Header file :

let accessTokenHeaderFile = [
    "Accept": "application/json",
    "Content-Type" :"application/json",
    "X-TOKEN" : UtilityClass.sharedInstance.accessTokenString
]

        Alamofire.request(urlString, method: .post, parameters: params as? [String:Any], encoding: JSONEncoding.default, headers: accessTokenHeaderFile).responseJSON { response in
          requestVC.removeLoader()
            switch (response.result) {
            case .success:
                if response.result.value != nil{
                    completionHandler (response.result.value)
                }
                break
            case .failure(let error):
                failureHandler (error as NSError?)
                break
            }
        }
Run Code Online (Sandbox Code Playgroud)

错误是

FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}))
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我,如何解决这个问题,我尝试使用谷歌搜索,但无论我发现什么答案都没有帮助我。

Ind*_*ore 1

您的响应不是有效的 json,因此您会收到此错误。请检查response.response?.statusCode服务器返回的内容。如果您想查看实际响应,请尝试使用responseStringorresponseData方法而不是responseJSON

例如

Alamofire.request(urlString, method: .post, parameters: params as? [String:Any], encoding: JSONEncoding.default, headers: accessTokenHeaderFile). responseData {
Run Code Online (Sandbox Code Playgroud)

您可以在这里找到更多回复方法