Вставьте URL-адрес Почтальона в браузер и посмотрите на JSON.
. Это не работает, потому что есть другие значения, кроме Course
для других ключей, поэтому декодирование словаря [String:Course]
завершается неудачно.
Вы должны добавить зонтичную структуру для объекта root
struct Root : Decodable {
let args : Course
}
struct Course : Decodable {
let foo1: String?
let foo2: String?
let fullName : String?
let numFound : Int?
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// let jsonUrl = "https://api.plos.org/search?q=title:DNA" //Working On this Url
let jsonUrl = "https://postman-echo.com/get?foo1=bar1&foo2=bar2"//Not Working On this Url
guard let url = URL(string: jsonUrl) else { return}
URLSession.shared.dataTask(with: url) {(data,response,err) in
guard let data = data else {return}
do {
let result = try JSONDecoder().decode(Root.self , from: data)
print(result.args.foo1, result.args.foo2)
} catch {
print(error)
}
}.resume()
}
}