字符0周围的值无效

时间:2017-11-11 12:46:22

标签: swift alamofire

Alamofire.request(URL_USER_REGISTER, method: .post, parameters: parameters).responseJSON{

                response in
                //printing response
                print(response)

                //getting the json value from the server
                if let result = response.result.value {

                    //converting it as NSDictionary
                    let jsonData = result as! NSDictionary

                    //displaying the message in label
                    self.labelMessage.text = jsonData.value(forKey: "message") as! String?
                }
        }

    }

我是Xcode的初学者,我从yt教程中得到了这个  我有这个代码,但总是给我responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}))

1 个答案:

答案 0 :(得分:0)

在评论中讨论后,我们知道服务器不接受您的消息。

问题标题出错是由服务器返回的无效JSON引起的。 Alamofire无法使用responseJSON解析无效的JSON。

您应该使用responseString方法从服务器获取响应,然后使用print(response.result.value)进行打印。如果服务器将开始返回正确的JSON,您应该尝试再次使用responseJSON或在响应字符串上使用JSON解码。

要修复您的请求,您应该:

  1. 明白它应该有效。查找一些文档,API文档,示例或教程。
  2. 比较您的解决方案并尝试发现差异,
  3. 尝试在Postman(或只是浏览器)等应用程序中使用示例解决方案或您的请求,看看发生了什么(服务器返回的代码以及答案中返回的内容)
  4. 当您获得工作解决方案时,请将其添加到您的应用中并再次检查。
  5. 请记住使用正确的身份验证和HTTP方法。另外,请检查您是否正在使用http / https以及服务器期望的内容。