/** * Queries the Search API based on the command line arguments and takes the first result to query * the Business API. * * @param yelpApi <tt>YelpAPI</tt> service instance * @param yelpApiCli <tt>YelpAPICLI</tt> command line arguments */ private static void queryAPI(YelpAPI yelpApi, YelpAPICLI yelpApiCli) { String searchResponseJSON = yelpApi.searchForBusinessesByLocation(yelpApiCli.term, yelpApiCli.location); JSONParser parser = new JSONParser(); JSONObject response = null; try { response = (JSONObject) parser.parse(searchResponseJSON); } catch (ParseException pe) { System.out.println("Error: could not parse JSON response:"); System.out.println(searchResponseJSON); System.exit(1); } JSONArray businesses = (JSONArray) response.get("businesses"); JSONObject firstBusiness = (JSONObject) businesses.get(0); String firstBusinessID = firstBusiness.get("id").toString(); System.out.println( String.format( "%s businesses found, querying business info for the top result \"%s\" ...", businesses.size(), firstBusinessID)); // Select the first business and display business details String businessResponseJSON = yelpApi.searchByBusinessId(firstBusinessID.toString()); System.out.println(String.format("Result for business \"%s\" found:", firstBusinessID)); System.out.println(businessResponseJSON); }