Не удалось сериализовать JSON из-за ошибки: - PullRequest
0 голосов
/ 13 февраля 2019

Я использую Alamofire 4.0, при выполнении сетевого вызова во время обзора приложения я получаю сообщение об ошибке, поэтому мое приложение отклоняется.Но для меня и моего клиента все работает нормально, мы никогда не получим ошибку ниже

JSON не может быть сериализован из-за ошибки: данные не могут быть прочитаны, потому что они не в правильномформат.

Мы также проверили, что вызов службы не попадает на сервер (поэтому не получают никакой помощи с их стороны). Найдите фрагмент кода

manager.request(requestURL, method: .post, parameters: param as? Parameters, encoding: URLEncoding.methodDependent, headers: nil).responseJSON { (responseJson) in

})

.различные типы параметров, такие как специальный символ, ноль и т. д. мы не смогли воспроизвести ошибку с нашей стороны.Но во время обзора приложения мы получаем эту ошибку.Пожалуйста, помогите мне !!!

Параметр: enter image description here

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Сначала попробуйте распечатать в журнале, если вы получите какой-либо ответ, подобный следующему:

 Alamofire.request(url, method: .post, parameters: parameter).responseJSON { (response) in

        //For Network Error
        guard response.result.error == nil else {
            print(response.result.error!)
            return
        }

        if let value = response.result.value {
            let json = JSON(value)
            print("myJSON are: \(json)"
        }
    }

Если в этом есть какая-либо ошибка, то попросите команду сервера проверить.Также проверьте безопасность транспорта приложения в plist .

0 голосов
/ 13 февраля 2019
      var params = [String:Any]()

        params["stripeToken"] = self.stripeToken
        params["currency"] = "gbp"

  Alamofire.request(urlString, method: .post, parameters: params, encoding: JSONEncoding.default, headers: ["Content-Type":"application/json"]).responseJSON { (response) in

 switch response.result {

            case .success:

     print("it's success")


            case .failure(let error):


                print("\n\n===========Error===========")
                print("Error Code: \(error._code)")
                print("Error Messsage: \(error.localizedDescription)")
                if let data = response.data, let str = String(data: data, encoding: String.Encoding.utf8){
                    print("Server Error: " + str)
                }
                debugPrint(error as Any)
                print("===========================\n\n")



            }// end of switch
       } //end of Alamofire
...