Из Yelp API получает ответ JSON, но после декодирования возвращает ноль - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь проанализировать 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

...