Ошибка домена = NSCocoaErrorDomain Code = 3840 «Недопустимое значение вокруг символа 1».UserInfo = {NSDebugDescription = Недопустимое значение для символа 1. swift 4 - PullRequest
0 голосов
/ 20 февраля 2019

Я получил ответ от API через почтальона

{
"status": "1",
"error": false,
"message": "Your order has been placed successfully"
}

Я позвонил в api и передал параметры, необходимые для вызова api.Код выдаёт ошибку «Недопустимое значение вокруг символа 1.»

    let urlsContainer = UrlsContainer()
    let url = URL(string: urlsContainer.allotRunnerAPI)
    let session = URLSession.shared
    var request = URLRequest(url: url!)
    let postString = "user_id=\(user_id)&pincode=\(pincode)&select_address=\(select_address)&store_id=\(store_id)"
    request.httpMethod = "POST"
    request.httpBody = postString.data(using: .utf8)
    request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
    let task = session.dataTask(with: request as URLRequest, completionHandler: { data, response, error in
    guard error == nil else {
    return
    }
    guard let data = data else {
    return
    }

Код должен выполнять блок кода do

do {
    let parsedData = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as! [String: AnyObject]
    print(parsedData)
    }

, но теперь из-за некоторых проблем в коде он выполняет блок catch кода

 catch let error {
    print(error)
    }
   })
  task.resume()

Я не могу найти проблему в своем коде для устранения ошибки

1 Ответ

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

используйте [String:String] для отправки данных в API

let params = ["user_id":user_id,
"pincode":pincode,"select_address":select_address,
"store_id":store_id]
let data = JSONSerialization.data(withJSONObject: params, options: .prettyPrinted)

опубликуйте эти данные как ваше тело

...