List of usage examples for org.json JSONArray getJSONObject
public JSONObject getJSONObject(int index) throws JSONException
From source file:app.com.example.android.sunshine.ForecastFragment.java
/** * Take the String representing the complete forecast in JSON Format and * pull out the data we need to construct the Strings needed for the wireframes. * * Fortunately parsing is easy: constructor takes the JSON string and converts it * into an Object hierarchy for us.//from ww w. j a va 2s . c o m */ private String[] getWeatherDataFromJson(String forecastJsonStr, int numDays) throws JSONException { // These are the names of the JSON objects that need to be extracted. final String OWM_LIST = "list"; final String OWM_WEATHER = "weather"; final String OWM_TEMPERATURE = "temp"; final String OWM_MAX = "max"; final String OWM_MIN = "min"; final String OWM_DATETIME = "dt"; final String OWM_DESCRIPTION = "main"; JSONObject forecastJson = new JSONObject(forecastJsonStr); JSONArray weatherArray = forecastJson.getJSONArray(OWM_LIST); String[] resultStrs = new String[numDays]; for (int i = 0; i < weatherArray.length(); i++) { // For now, using the format "Day, description, hi/low" String day; String description; String highAndLow; // Get the JSON object representing the day JSONObject dayForecast = weatherArray.getJSONObject(i); // The date/time is returned as a long. We need to convert that // into something human-readable, since most people won't read "1400356800" as // "this saturday". long dateTime = dayForecast.getLong(OWM_DATETIME); day = getReadableDateString(dateTime); // description is in a child array called "weather", which is 1 element long. JSONObject weatherObject = dayForecast.getJSONArray(OWM_WEATHER).getJSONObject(0); description = weatherObject.getString(OWM_DESCRIPTION); // Temperatures are in a child object called "temp". Try not to name variables // "temp" when working with temperature. It confuses everybody. JSONObject temperatureObject = dayForecast.getJSONObject(OWM_TEMPERATURE); double high = temperatureObject.getDouble(OWM_MAX); double low = temperatureObject.getDouble(OWM_MIN); highAndLow = formatHighLows(high, low); resultStrs[i] = day + " - " + description + " - " + highAndLow; } return resultStrs; }
From source file:com.mikecorrigan.trainscorekeeper.Game.java
public boolean read(final Context context) { Log.vc(VERBOSE, TAG, "read: context=" + context); String path = context.getFilesDir() + File.separator + SAVED_FILE; File file = new File(path); JSONObject jsonRoot = JsonUtils.readFromFile(file); if (jsonRoot == null) { Log.e(TAG, "read: failed to read root"); return false; }//from w w w. ja v a 2 s .com scoreEvents.clear(); lastScoreEvent = 0; try { spec = jsonRoot.getString(JsonSpec.GAME_SPEC); JSONArray jsonScoreEvents = jsonRoot.getJSONArray(JsonSpec.SCORES_KEY); for (int i = 0; i < jsonScoreEvents.length(); i++) { JSONObject jsonScoreEvent = jsonScoreEvents.getJSONObject(i); ScoreEvent scoreEvent = new ScoreEvent(jsonScoreEvent); scoreEvents.add(scoreEvent); notifyEnabled(scoreEvent.getPlayerId(), true); } } catch (JSONException e) { Log.th(TAG, e, "read: parse failed"); return false; } lastScoreEvent = scoreEvents.size(); notifyListeners(); return true; }
From source file:com.ecml.RecentSongsActivity.java
private void loadFileList() { filelist = new ArrayList<FileUri>(); SharedPreferences settings = getSharedPreferences("midisheetmusic.recentFiles", 0); String recentFilesString = settings.getString("recentFiles", null); if (recentFilesString == null) { return;/*from www . j a v a 2 s . c o m*/ } try { JSONArray jsonArray = new JSONArray(recentFilesString); for (int i = 0; i < jsonArray.length(); i++) { JSONObject obj = jsonArray.getJSONObject(i); FileUri file = FileUri.fromJson(obj, this); if (file != null) { filelist.add(file); } } } catch (Exception e) { } }
From source file:org.jboss.aerogear.cordova.push.PushPlugin.java
private JSONObject parseConfig(JSONArray data) throws JSONException { JSONObject pushConfig = data.getJSONObject(0); if (!pushConfig.isNull("android")) { final JSONObject android = pushConfig.getJSONObject("android"); for (Iterator iterator = android.keys(); iterator.hasNext();) { String key = (String) iterator.next(); pushConfig.put(key, android.get(key)); }/*from w ww . j av a 2s. c om*/ pushConfig.remove("android"); } return pushConfig; }
From source file:com.dvd.ui.UpdateBooking.java
private void getData() { try {// w ww. ja va 2s .c o m if (isServiceOn) { String result = ""; String url1 = "http://localhost:8080/getBooking"; // String q = URLEncoder.encode(original, "UTF-8"); URL url = new URL(url1); URL obj = url; HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // optional default is GET con.setRequestMethod("GET"); // add request header con.setRequestProperty("User-Agent", "Mozilla/5.0"); int responseCode = con.getResponseCode(); System.out.println("\nSending 'GET' request to URL : " + url); System.out.println("Response Code : " + responseCode); BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // print result result = response.toString(); // Parse to get translated text JSONObject jsonObject = new JSONObject(result); JSONArray bookingJsonList = jsonObject.getJSONArray("body"); List<Booking> list = new ArrayList<>(); if (bookingJsonList != null) { for (int i = 0; i < bookingJsonList.length(); i++) { JSONObject c = bookingJsonList.getJSONObject(i); int id = c.getInt("id"); int copyNum = c.getInt("copyNumber"); int userId = c.getInt("userID"); String da = c.getString("bookingAddedDate"); Booking d = new Booking(); d.setBookingAddedDate(da); d.setUserID(userId); d.setCopyNumber(copyNum); d.setId(id); System.out.println(d); list.add(d); } bookingList = list; } } else { BookingRepository repository = new BookingRepository(); List<BookingDao> s = repository.getBookingList(); if (s != null) { bookingList = new ArrayList<Booking>(); for (BookingDao bookingDao : s) { DateFormat df = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); // Using DateFormat format method we can create a string // representation of a date with the defined format. String dateAdded = df.format(bookingDao.getBookingAddedDate()); bookingList.add(new Booking(bookingDao.getId(), bookingDao.getCopyNumber(), bookingDao.getUserID(), dateAdded)); } } } } catch (Exception e) { System.out.println(e); } }
From source file:com.example.quadros_10084564.sunshine_v2.FetchWeatherTask.java
/** * Take the String representing the complete forecast in JSON Format and * pull out the data we need to construct the Strings needed for the wireframes. * * Fortunately parsing is easy: constructor takes the JSON string and converts it * into an Object hierarchy for us./*from ww w . java2 s . c om*/ */ private void getWeatherDataFromJson(String forecastJsonStr, String locationSetting) throws JSONException { // Now we have a String representing the complete forecast in JSON Format. // Fortunately parsing is easy: constructor takes the JSON string and converts it // into an Object hierarchy for us. // These are the names of the JSON objects that need to be extracted. // Location information final String OWM_CITY = "city"; final String OWM_CITY_NAME = "name"; final String OWM_COORD = "coord"; // Location coordinate final String OWM_LATITUDE = "lat"; final String OWM_LONGITUDE = "lon"; // Weather information. Each day's forecast info is an element of the "list" array. final String OWM_LIST = "list"; final String OWM_PRESSURE = "pressure"; final String OWM_HUMIDITY = "humidity"; final String OWM_WINDSPEED = "speed"; final String OWM_WIND_DIRECTION = "deg"; // All temperatures are children of the "temp" object. final String OWM_TEMPERATURE = "temp"; final String OWM_MAX = "max"; final String OWM_MIN = "min"; final String OWM_WEATHER = "weather"; final String OWM_DESCRIPTION = "main"; final String OWM_WEATHER_ID = "id"; try { JSONObject forecastJson = new JSONObject(forecastJsonStr); JSONArray weatherArray = forecastJson.getJSONArray(OWM_LIST); JSONObject cityJson = forecastJson.getJSONObject(OWM_CITY); String cityName = cityJson.getString(OWM_CITY_NAME); JSONObject cityCoord = cityJson.getJSONObject(OWM_COORD); double cityLatitude = cityCoord.getDouble(OWM_LATITUDE); double cityLongitude = cityCoord.getDouble(OWM_LONGITUDE); long locationId = addLocation(locationSetting, cityName, cityLatitude, cityLongitude); // Insert the new weather information into the database Vector<ContentValues> cVVector = new Vector<ContentValues>(weatherArray.length()); // OWM returns daily forecasts based upon the local time of the city that is being // asked for, which means that we need to know the GMT offset to translate this data // properly. // Since this data is also sent in-order and the first day is always the // current day, we're going to take advantage of that to get a nice // normalized UTC date for all of our weather. Time dayTime = new Time(); dayTime.setToNow(); // we start at the day returned by local time. Otherwise this is a mess. int julianStartDay = Time.getJulianDay(System.currentTimeMillis(), dayTime.gmtoff); // now we work exclusively in UTC dayTime = new Time(); for (int i = 0; i < weatherArray.length(); i++) { // These are the values that will be collected. long dateTime; double pressure; int humidity; double windSpeed; double windDirection; double high; double low; String description; int weatherId; // Get the JSON object representing the day JSONObject dayForecast = weatherArray.getJSONObject(i); // Cheating to convert this to UTC time, which is what we want anyhow dateTime = dayTime.setJulianDay(julianStartDay + i); pressure = dayForecast.getDouble(OWM_PRESSURE); humidity = dayForecast.getInt(OWM_HUMIDITY); windSpeed = dayForecast.getDouble(OWM_WINDSPEED); windDirection = dayForecast.getDouble(OWM_WIND_DIRECTION); // Description is in a child array called "weather", which is 1 element long. // That element also contains a weather code. JSONObject weatherObject = dayForecast.getJSONArray(OWM_WEATHER).getJSONObject(0); description = weatherObject.getString(OWM_DESCRIPTION); weatherId = weatherObject.getInt(OWM_WEATHER_ID); // Temperatures are in a child object called "temp". Try not to name variables // "temp" when working with temperature. It confuses everybody. JSONObject temperatureObject = dayForecast.getJSONObject(OWM_TEMPERATURE); high = temperatureObject.getDouble(OWM_MAX); low = temperatureObject.getDouble(OWM_MIN); ContentValues weatherValues = new ContentValues(); weatherValues.put(WeatherEntry.COLUMN_LOC_KEY, locationId); weatherValues.put(WeatherEntry.COLUMN_DATE, dateTime); weatherValues.put(WeatherEntry.COLUMN_HUMIDITY, humidity); weatherValues.put(WeatherEntry.COLUMN_PRESSURE, pressure); weatherValues.put(WeatherEntry.COLUMN_WIND_SPEED, windSpeed); weatherValues.put(WeatherEntry.COLUMN_DEGREES, windDirection); weatherValues.put(WeatherEntry.COLUMN_MAX_TEMP, high); weatherValues.put(WeatherEntry.COLUMN_MIN_TEMP, low); weatherValues.put(WeatherEntry.COLUMN_SHORT_DESC, description); weatherValues.put(WeatherEntry.COLUMN_WEATHER_ID, weatherId); cVVector.add(weatherValues); } int inserted = 0; // add to database if (cVVector.size() > 0) { ContentValues[] cvArray = new ContentValues[cVVector.size()]; cVVector.toArray(cvArray); inserted = mContext.getContentResolver().bulkInsert(WeatherEntry.CONTENT_URI, cvArray); } Log.d(LOG_TAG, "FetchWeatherTask Complete. " + inserted + " Inserted"); } catch (JSONException e) { Log.e(LOG_TAG, e.getMessage(), e); e.printStackTrace(); } }
From source file:com.ibm.mobilefirstplatform.clientsdk.android.push.api.MFPPush.java
/** * Get the list of tags//ww w .j av a 2 s . c om * * @param listener Mandatory listener class. When the list of tags are * successfully retrieved the {@link MFPPushResponseListener} * .onSuccess method is called with the list of tagNames * {@link MFPPushResponseListener}.onFailure method is called * otherwise */ public void getTags(final MFPPushResponseListener<List<String>> listener) { MFPPushUrlBuilder builder = new MFPPushUrlBuilder(applicationId); String path = builder.getTagsUrl(); MFPPushInvoker invoker = MFPPushInvoker.newInstance(appContext, path, Request.GET, clientSecret); invoker.setResponseListener(new ResponseListener() { @Override public void onSuccess(Response response) { logger.info("MFPPush:getTags() - Successfully retreived tags. The response is: " + response.toString()); List<String> tagNames = new ArrayList<String>(); try { String responseText = response.getResponseText(); JSONArray tags = (JSONArray) (new JSONObject(responseText)).get(TAGS); Log.d("JSONArray of tags is: ", tags.toString()); int tagsCnt = tags.length(); for (int tagsIdx = 0; tagsIdx < tagsCnt; tagsIdx++) { Log.d("Adding tag: ", tags.getJSONObject(tagsIdx).toString()); tagNames.add(tags.getJSONObject(tagsIdx).getString(NAME)); } listener.onSuccess(tagNames); } catch (JSONException e) { logger.error("MFPPush: getTags() - Error while retrieving tags. Error is: " + e.getMessage()); listener.onFailure(new MFPPushException(e)); } } @Override public void onFailure(Response response, Throwable throwable, JSONObject jsonObject) { //Error while subscribing to tags. errorString = null; statusCode = 0; if (response != null) { errorString = response.getResponseText(); statusCode = response.getStatus(); } else if (errorString == null && throwable != null) { errorString = throwable.toString(); } else if (errorString == null && jsonObject != null) { errorString = jsonObject.toString(); } listener.onFailure(new MFPPushException(errorString, statusCode)); } }); invoker.execute(); }
From source file:com.ibm.mobilefirstplatform.clientsdk.android.push.api.MFPPush.java
/** * Get the list of tags subscribed to// w w w .j a v a 2 s . c om * * @param listener Mandatory listener class. When the list of tags subscribed to * are successfully retrieved the {@link MFPPushResponseListener} * .onSuccess method is called with the list of tagNames * {@link MFPPushResponseListener}.onFailure method is called * otherwise */ public void getSubscriptions(final MFPPushResponseListener<List<String>> listener) { MFPPushUrlBuilder builder = new MFPPushUrlBuilder(applicationId); String path = builder.getSubscriptionsUrl(deviceId, null); MFPPushInvoker invoker = MFPPushInvoker.newInstance(appContext, path, Request.GET, clientSecret); invoker.setResponseListener(new ResponseListener() { @Override public void onSuccess(Response response) { List<String> tagNames = new ArrayList<String>(); try { JSONArray tags = (JSONArray) (new JSONObject(response.getResponseText())).get(SUBSCRIPTIONS); int tagsCnt = tags.length(); for (int tagsIdx = 0; tagsIdx < tagsCnt; tagsIdx++) { tagNames.add(tags.getJSONObject(tagsIdx).getString(TAG_NAME)); } listener.onSuccess(tagNames); } catch (JSONException e) { logger.error( "MFPPush: getSubscriptions() - Failure while getting subscriptions. Failure response is: " + e.getMessage()); listener.onFailure(new MFPPushException(e)); } } @Override public void onFailure(Response response, Throwable throwable, JSONObject jsonObject) { //Error while subscribing to tags. errorString = null; statusCode = 0; if (response != null) { errorString = response.getResponseText(); statusCode = response.getStatus(); } else if (errorString == null && throwable != null) { errorString = throwable.toString(); } else if (errorString == null && jsonObject != null) { errorString = jsonObject.toString(); } listener.onFailure(new MFPPushException(errorString, statusCode)); } }); invoker.execute(); }
From source file:org.wso2.carbon.connector.integration.test.github.GithubConnectorIntegrationTest.java
/** * Positive test case for listRepositoryIssues method with mandatory parameters. *///from w w w. ja v a 2 s . c o m @Test(priority = 1, dependsOnMethods = { "testSearchIssuesWithNegativeCase" }, description = "github {listRepositoryIssues} integration test with mandatory parameters.") public void testListRepositoryIssuesWithMandatoryParameters() throws IOException, JSONException { esbRequestHeadersMap.put("Action", "urn:listRepositoryIssues"); String apiEndPoint = connectorProperties.getProperty("githubApiUrl") + "/repos/" + connectorProperties.getProperty("owner") + "/" + connectorProperties.getProperty("repo") + "/issues"; RestResponse<JSONObject> esbRestResponse = sendJsonRestRequest(proxyUrl, "POST", esbRequestHeadersMap, "esb_listRepositoryIssues_mandatory.json"); RestResponse<JSONObject> apiRestResponse = sendJsonRestRequest(apiEndPoint, "GET", apiRequestHeadersMap); JSONArray esbArray = new JSONArray(esbRestResponse.getBody().getString("output")); JSONArray apiArray = new JSONArray(apiRestResponse.getBody().getString("output")); Assert.assertEquals(esbArray.length(), apiArray.length()); if (esbArray.length() > 0 && apiArray.length() > 0) { JSONObject esbFirstElement = esbArray.getJSONObject(0); JSONObject apiFirstElement = apiArray.getJSONObject(0); Assert.assertEquals(esbFirstElement.get("number"), apiFirstElement.get("number")); } }
From source file:org.wso2.carbon.connector.integration.test.github.GithubConnectorIntegrationTest.java
/** * Positive test case for listRepositoryIssues method with optional parameters. *//*from ww w .ja v a 2 s .c om*/ @Test(priority = 1, dependsOnMethods = { "testListRepositoryIssuesWithMandatoryParameters" }, description = "github {listRepositoryIssues} integration test with optional parameters.") public void testListRepositoryIssuesWithOptionalParameters() throws IOException, JSONException { esbRequestHeadersMap.put("Action", "urn:listRepositoryIssues"); String apiEndPoint = connectorProperties.getProperty("githubApiUrl") + "/repos/" + connectorProperties.getProperty("owner") + "/" + connectorProperties.getProperty("repo") + "/issues?milestone=*&state=open&assignee=" + connectorProperties.getProperty("owner") + "&creator=" + connectorProperties.getProperty("owner") + "&sort=created&direction=asc"; RestResponse<JSONObject> esbRestResponse = sendJsonRestRequest(proxyUrl, "POST", esbRequestHeadersMap, "esb_listRepositoryIssues_optional.json"); RestResponse<JSONObject> apiRestResponse = sendJsonRestRequest(apiEndPoint, "GET", apiRequestHeadersMap); JSONArray esbArray = new JSONArray(esbRestResponse.getBody().getString("output")); JSONArray apiArray = new JSONArray(apiRestResponse.getBody().getString("output")); Assert.assertEquals(esbArray.length(), apiArray.length()); if (esbArray.length() > 0 && apiArray.length() > 0) { JSONObject esbFirstElement = esbArray.getJSONObject(0); JSONObject apiFirstElement = apiArray.getJSONObject(0); Assert.assertEquals(esbFirstElement.get("number"), apiFirstElement.get("number")); } }