Получение данных ответа JSON с сервера - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь получить ошибку ответа от сервера в удобочитаемом формате.Я знаю, что есть ошибка, я просто не знаю, как разобрать JSON.Я получаю ошибку Данные не могут быть прочитаны, потому что они не в правильном формате.

Вот что я пытаюсь:

var request = URLRequest(url:url)
request.httpBody = "stripeToken=\(token.tokenId)&amount=\(priceInt)".data(using: String.Encoding.utf8)
request.httpMethod = "POST"

URLSession.shared.dataTask(with: request) { (data, response, error) -> Void in
    // TODO: Handle success or failure
    if let data = data {
        do {
            if let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] {
                print("Json: \(json)")
            }
        } catch {
            print("Catch Error: \(error.localizedDescription)")
        }

ОтветКузов:

{
  "error": {
    "charge": "ch_1E5yhbAtWFyXMp9t5rTIyGwM",
    "code": "card_declined",
    "decline_code": "generic_decline",
    "doc_url": "https://stripe.com/docs/error-codes/card-declined",
    "message": "Your card was declined.",
    "type": "card_error"
  }
}
...