СБОЙ: responseSerializationFailed (причина: Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength) - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь прочитать JSON, используя Alamofire.Вот мой код:

    let headers = ["Content-Type": "application/json"]

    func getConfirmationCode(params: [String:Any], block: @escaping(_ data : JSON, _ success : Bool) -> Void) {
    if let url = URL(string: baseURL + "getConfirmationCode.php") {
        Alamofire.request(url, method: .post, parameters: params, encoding: JSONEncoding.default, headers: headers).responseJSON { (response) in
            DispatchQueue.main.async {
                if let value = response.result.value {
                    let json = JSON(value)
                    block(json, true)
                } else {
                    block(JSON.null, false)
                }
            }
        }
    }
}

JSON действителен, все работает в Почтальоне, но я не могу заставить его работать.Ни одно из предложений в Интернете не помогло (изменение responseJSON на responseString / responseData, изменение JSONEncoding.default на URLEncoding.default и т. Д.)

Может ли кто-нибудь мне помочь?

1 Ответ

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

Вы должны попытаться проверить ответ в почтальоне на вкладке «Просмотр» раздела ответов.иногда он отображает правильный JSON в разделе «Pretty».но в разделе «Предварительный просмотр» он содержит некоторые операторы печати ответа API.и эти операторы печати создают проблемы в json-декодировании.

enter image description here

также, если вы хотите получить быстрый код ответа почтальона, вы всегда можете получить его от почтальонаособенность кода:

enter image description here

enter image description here

Надеюсь, это поможет ..!

...