String (data: theData, кодировка: String.Encoding.utf8) возвращает ноль - PullRequest
1 голос
/ 21 марта 2019
session = URLSession(configuration: URLSessionConfiguration.default)
        let url = URL(string: "http://localhost:8080/menu?action=get_all")!
        let task = session.dataTask(with: url) { (data: Data?, urlResponse: URLResponse?, error: Error?) in
            if error == nil{
                if let theData = data{
                    print(String(data: theData, encoding: String.Encoding.utf8))
                    print("is main thread ? \(Thread.current.isMainThread)")
                }
            }
            self.session.finishTasksAndInvalidate()
        }
        task.resume()

Я пытаюсь получить JSON String с моего локального сервера с помощью запроса "GET" с использованием Swift.

По какой-то причине это продолжает возвращаться nil. Я попытался использовать String(decoding: theData, as: UTF8.self), это возвращает значение с символами..

Проблема точно не с сервера. Я проверил его на Почтальоне, и он отлично работает.

1 Ответ

2 голосов
/ 21 марта 2019

спасибо, ребята, использовали response.setCharacterEncoding("UTF8"); в моем ответе HTTPServlet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...