** Этот вопрос отражает исследовательские усилия; это полезно и понятно
Я создаю небольшое приложение для быстрой доставки собак с помощью DogsApi, и у меня возникают некоторые проблемы, пытаясь разобрать JSON. Я использовал следующую функцию для синтаксического анализа get и синтаксического анализа JSON.
Ниже мой viewController: **
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
var dogs = [DogStats]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
downloadJson {
print("Successful")
}
}
func downloadJson(completed: @escaping () -> ()) {
if let url = URL(string: "https://raw.githubusercontent.com/DevTides/DogsApi/master/dogs.json") {
URLSession.shared.dataTask(with: url) { data, response, error in
if let data = data {
do {
let dogs = try JSONDecoder().decode([DogStats].self, from: data)
print(dogs)
DispatchQueue.main.async {
self.dogs = dogs
self.tableView.reloadData()
}
} catch let error {
print(error)
}
}
}.resume()
}
}
}
ниже моя структура
import Foundation
struct DogStats: Codable {
let name: String
let origin: String
let breed_group: String!
let life_span: String
let temperament: String
}
Ошибка в отладчике
keyNotFound (CodingKeys (stringValue: "origin", intValue: nil), Swift.DecodingError.Context (codingPath: [ _JSONKey (stringValue: "Index 5", intValue: 5)], debugDescription: "Нет значения, связанного с ключом CodingKeys (stringValue:" origin ", intValue: nil) (" origin ")." ,AtabasesError: nil))