swift - 无法将 API 请求中的数据转换为 JSON - stackoverflow api

标签 swift api nsurlsession urlsession

我正在尝试使用 URLSession 使用 stackoverflow api 执行 get 请求,但我不断收到以下错误:

无法读取数据,因为格式不正确。

override func viewDidLoad() {
    super.viewDidLoad()
    searchBar.delegate = self
    searchBar.sendsWholeSearchString = true

    if let url = URL(string: "https://api.stackexchange.com/docs/search#order=desc&sort=activity&intitle=swift&filter=default&site=stackoverflow") {
        var request = URLRequest(url: url)

        request.httpMethod = "GET"
        let dataTask = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
            //handle response here
            if let error = error {
                print("Fuck! \(error.localizedDescription)")
                return
            }

            do {
                let json = try JSONSerialization.jsonObject(with: data!) as! Dictionary<String, AnyObject>
                print(json)
            } catch {
                print(error.localizedDescription)
            }
        }
        dataTask.resume()
    }
}

我已经将网址设置为从搜索中获取 swift 结果,因此网址为“https://api.stackexchange.com/docs/search#order=desc&sort=activity&intitle=swift&filter=default&site=stackoverflow

我还读到数据通常是 gzip 格式,但发现显然 URLSession 自动处理它..

对我哪里出错有什么建议吗?

最佳答案

关于swift - 无法将 API 请求中的数据转换为 JSON - stackoverflow api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58705625/

相关文章:

ios - 用户图像未从 Firebase 存储加载

ruby - API 集成错误 HTTParty

swift - 未使用 http2 连接调用 URLSessionDataDelegate

swift - 如何始终显示我的 Cocoa 应用程序弹出的所有其他应用程序的警报?

ios - 无法使用动态数量的节和行向 UITableView 插入新行

php - 如何使用相同的 CakePhp 设置开发网站和 API

ios - 如何停止在Objective-C的操作队列中发送的调用

ios - 检查缓存的 HTTP 响应的有效性

ios - 仅 4G 和 iOS10 上的大文件 NSURLSessionDelegate 失败

ios - 奇怪的构建错误 : Facebook Swift SDK not building with Carthage in Blank project