Я пытаюсь проанализировать JSON для отображения событий из поиска событий Yelp API
Я попытался изменить запросы и параметры API, включил режим бета-разработки Yelp, получаю ответ и вижу, что он состоит из 12000 бит, но после декодирования печать (root) возвращает мне нулевой ответ. Я программирую это на Swift
private func loadBusinesses(with coordinate: CLLocationCoordinate2D) {
service.request(.search(lat: coordinate.latitude, long: coordinate.longitude)) { [weak self] (result) in
guard let strongSelf = self else { return }
switch result {
case .success(let response):
// print(try? JSONSerialization.jsonObject(with: response.data, options: []))
let root = try? self?.jsonDecoder.decode(Root.self, from: response.data)
print(root)
//print(coordinate.latitude)
let viewModels = root??.businesses
.compactMap(RestaurantListViewModel.init)
// .sorted(by: { $0.distance < $1.distance })
if let nav = strongSelf.window.rootViewController as? UINavigationController,
let restaurantListViewController = nav.topViewController as? RestaurantTableViewController {
restaurantListViewController.viewModels = viewModels ?? []
} else if let nav = strongSelf.storyboard
.instantiateViewController(withIdentifier: "RestaurantNavigationController") as? UINavigationController {
strongSelf.navigationController = nav
strongSelf.window.rootViewController?.present(nav, animated: true) {
(nav.topViewController as? RestaurantTableViewController)?.delegete = self
(nav.topViewController as? RestaurantTableViewController)?.viewModels = viewModels ?? []
}
}
case .failure(let error):
print("Error: \(error)")
}
}
}
Декодирование JSON