Получение двух JSON с одного и того же URL-адреса в Swift - PullRequest
0 голосов
/ 09 мая 2020

Мне нужно сравнить данные из двух разных дат, и я пытаюсь получить два Json с двумя датами из одного и того же запроса URL. Я просто повторил тот же запрос Json с немного разными именами. Хотя он дает мне "диапазон выхода индекса", а также почти уверен, что это не то, как это должно быть сделано. Слишком много кода, и мне понадобятся дополнительные данные. Не могли бы вы рассказать, как это должно быть сделано, или направьте меня к какому-нибудь руководству, так как я ничего не мог погуглить. Это мой код:

    let parameters = "{\n\t\"local\": \"MainPlace\",\n\t\"date\": \"\(today)\",\n\t\"access_token\": \"\(token)\"\n}"

    let postData = parameters.data(using: .utf8)

    var request = URLRequest(url: URL(string: "https://someurl")!,timeoutInterval: Double.infinity)
    request.addValue("application/json", forHTTPHeaderField: "Content-Type")

    request.httpMethod = "POST"
    request.httpBody = postData

    let task = URLSession.shared.dataTask(with: request) { data, response, error in
        guard let data = data else {
            print(error!)
            return
        }

        print(String(data: data, encoding: .utf8)!)

        let decoder = JSONDecoder()

        do {
            let jsonPetitions = try decoder.decode(RootRequest.self, from: data)
            self.locales = jsonPetitions.results

            DispatchQueue.main.async {
                                        jsonYesterday()
                                    }


        } catch {
            print(error)

        }
    }
    task.resume()

    func jsonYesterday(){
        // yesterday


               let parametersI = "{\n\t\"local\": \"MainPlace\",\n\t\"date\": \"\(yesterday)\",\n\t\"access_token\": \"\(token)\"\n}"

               let postDataI = parametersI.data(using: .utf8)

               var requestI = URLRequest(url: URL(string: "https://someurl")!,timeoutInterval: Double.infinity)
               requestI.addValue("application/json", forHTTPHeaderField: "Content-Type")

               requestI.httpMethod = "POST"
               requestI.httpBody = postDataI

               let taskI = URLSession.shared.dataTask(with: requestI) { dataI, response, error in
                   guard let dataI = dataI else {
                       print(error!)
                       return
                   }
                   print(String(data: dataI, encoding: .utf8)!)

                   let decoderI = JSONDecoder()

                   do {
                       let jsonPetitionsI = try decoderI.decode(RootRequest.self, from: dataI)
                    self.yesterdayStruct = jsonPetitionsI.results
                       yesterdaysResults = self.yesterdayStruct.count
                       DispatchQueue.main.async {
                           self.tableView.reloadData()
                       }

                   } catch {
                       print(error)

                   }
               }
               taskI.resume()

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