Мне нужно сравнить данные из двух разных дат, и я пытаюсь получить два 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()
}