import UIKit
class ViewController: UIViewController {
struct allTicket: Decodable {
var order: String?
var totalcount: Int?
var data: [ArrTicket]?
enum CodingKeys: String, CodingKey {
case order
case totalcount
case data
}
}
struct ArrTicket: Decodable {
var id: Int?
var name: String?
var lastDate: String?
var createDate: String?
var usersIdRecipient: Int?
var usersIdOvner: Int?
var category: String?
var groupEngineer: String?
enum CodingKeys: Int, CodingKey {
case id = 2
case name = 1
case lastDate = 19
case createDate = 15
case usersIdRecipient = 4
case usersIdOvner = 5
case category = 7
case groupEngineer = 8
}
}
@IBAction func getRequest(_ sender: Any) {
guard let url = URL(string: "http://glpi.nekrasovka.ru/apirest.php/search/Ticket?sort=2&order=DESC&range=0-100&criteria[0][field]=12&criteria[0][searchtype]=equals&criteria[0][value]=2") else { return }
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("nf8esvcsjaas61q10k9mu2nu92", forHTTPHeaderField: "Session-Token")
URLSession.shared.dataTask(with: request) { (data, response, error) in
guard let response = response, let data = data else { return }
print(response)
print(data)
do {
let decoder = JSONDecoder()
let article = try? decoder.decode(allTicket.self, from: data)
print(article?.data)
} catch {
print(error)
}
}.resume()
}
}
Пробовал указывать ключи как цифры с значение String, в таком случае JSON вообще не извлекался, подскажите что я делаю не так, ниже ответ от сервера.
{
“totalcount”: 32,
“count”: 32,
“sort”: 2,
“order”: “DESC”,
“data”: [
{
“2”: 2263,
“1”: “Переименовать ПРД”,
“12”: 2,
“19”: “2019-12-17 17:35:01”,
“15”: “2019-12-17 17:34:13”,
“4”: 172,
“5”: 56,
“7”: 34,
“8”: “ОИТ > ИТ поддержка”
}
],
“content-range”: “0-31/32”
}