List of usage examples for org.json JSONArray length
public int length()
From source file:org.eclipse.orion.server.tests.servlets.git.GitPullTest.java
@Test public void testPullRemoteUpToDate() throws Exception { // clone a repo URI workspaceLocation = createWorkspace(getMethodName()); String workspaceId = workspaceIdFromLocation(workspaceLocation); JSONObject project = createProjectOrLink(workspaceLocation, getMethodName(), null); IPath clonePath = getClonePath(workspaceId, project); JSONObject clone = clone(clonePath); String cloneLocation = clone.getString(ProtocolConstants.KEY_LOCATION); // get project metadata WebRequest request = getGetRequest(project.getString(ProtocolConstants.KEY_CONTENT_LOCATION)); WebResponse response = webConversation.getResponse(request); assertEquals(HttpURLConnection.HTTP_OK, response.getResponseCode()); project = new JSONObject(response.getText()); JSONObject gitSection = project.getJSONObject(GitConstants.KEY_GIT); String gitRemoteUri = gitSection.getString(GitConstants.KEY_REMOTE); String gitHeadUri = gitSection.getString(GitConstants.KEY_HEAD); // get HEAD/*from w w w .j a v a2 s .co m*/ JSONArray commitsArray = log(gitHeadUri); String headSha1 = commitsArray.getJSONObject(0).getString(ProtocolConstants.KEY_NAME); // list remotes request = GitRemoteTest.getGetGitRemoteRequest(gitRemoteUri); response = webConversation.getResponse(request); assertEquals(HttpURLConnection.HTTP_OK, response.getResponseCode()); JSONObject remotes = new JSONObject(response.getText()); JSONArray remotesArray = remotes.getJSONArray(ProtocolConstants.KEY_CHILDREN); assertEquals(1, remotesArray.length()); JSONObject remote = remotesArray.getJSONObject(0); assertNotNull(remote); assertEquals(Constants.DEFAULT_REMOTE_NAME, remote.getString(ProtocolConstants.KEY_NAME)); String remoteLocation = remote.getString(ProtocolConstants.KEY_LOCATION); assertNotNull(remoteLocation); // get remote details JSONObject details = getRemoteBranch(gitRemoteUri, 1, 0, Constants.MASTER); String refId = details.getString(ProtocolConstants.KEY_ID); // pull pull(cloneLocation); // get remote details again String newRefId = getRemoteBranch(gitRemoteUri, 1, 0, Constants.MASTER).getString(ProtocolConstants.KEY_ID); // up to date assertEquals(refId, newRefId); // get the current branch request = getGetRequest(gitHeadUri); response = webConversation.getResponse(request); ServerStatus status = waitForTask(response); assertTrue(status.toString(), status.isOK()); JSONObject newHead = status.getJsonData(); String newHeadSha1 = newHead.getJSONArray(ProtocolConstants.KEY_CHILDREN).getJSONObject(0) .getString(ProtocolConstants.KEY_NAME); assertEquals(headSha1, newHeadSha1); }
From source file:com.example.android.sunshine.data.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./* w ww . ja v a 2 s. c o m*/ */ private String[] 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(WeatherContract.WeatherEntry.COLUMN_LOC_KEY, locationId); weatherValues.put(WeatherContract.WeatherEntry.COLUMN_DATE, dateTime); weatherValues.put(WeatherContract.WeatherEntry.COLUMN_HUMIDITY, humidity); weatherValues.put(WeatherContract.WeatherEntry.COLUMN_PRESSURE, pressure); weatherValues.put(WeatherContract.WeatherEntry.COLUMN_WIND_SPEED, windSpeed); weatherValues.put(WeatherContract.WeatherEntry.COLUMN_DEGREES, windDirection); weatherValues.put(WeatherContract.WeatherEntry.COLUMN_MAX_TEMP, high); weatherValues.put(WeatherContract.WeatherEntry.COLUMN_MIN_TEMP, low); weatherValues.put(WeatherContract.WeatherEntry.COLUMN_SHORT_DESC, description); weatherValues.put(WeatherContract.WeatherEntry.COLUMN_WEATHER_ID, weatherId); cVVector.add(weatherValues); } // add to database if (cVVector.size() > 0) { // Student: call bulkInsert to add the weatherEntries to the database here } // Sort order: Ascending, by date. String sortOrder = WeatherContract.WeatherEntry.COLUMN_DATE + " ASC"; Uri weatherForLocationUri = WeatherContract.WeatherEntry .buildWeatherLocationWithStartDate(locationSetting, System.currentTimeMillis()); // Students: Uncomment the next lines to display what what you stored in the bulkInsert // Cursor cur = mContext.getContentResolver().query(weatherForLocationUri, // null, null, null, sortOrder); // // cVVector = new Vector<ContentValues>(cur.getCount()); // if ( cur.moveToFirst() ) { // do { // ContentValues cv = new ContentValues(); // DatabaseUtils.cursorRowToContentValues(cur, cv); // cVVector.add(cv); // } while (cur.moveToNext()); // } Log.d(LOG_TAG, "FetchWeatherTask Complete. " + cVVector.size() + " Inserted"); String[] resultStrs = convertContentValuesToUXFormat(cVVector); return resultStrs; } catch (JSONException e) { Log.e(LOG_TAG, e.getMessage(), e); e.printStackTrace(); } return null; }
From source file:fr.bmartel.android.fadecandy.model.FadecandyColor.java
public FadecandyColor(JSONObject color) { try {// w w w . ja v a 2s .c o m if (color.has(Constants.CONFIG_GAMMA) && color.has(Constants.CONFIG_WHITEPOINT)) { mGamma = (float) color.getDouble(Constants.CONFIG_GAMMA); JSONArray whitepoints = color.getJSONArray(Constants.CONFIG_WHITEPOINT); for (int i = 0; i < whitepoints.length(); i++) { mWhitepoints.add((float) whitepoints.getDouble(i)); } } } catch (JSONException e) { e.printStackTrace(); } }
From source file:org.jabsorb.ng.serializer.impl.SetSerializer.java
@Override public ObjectMatch tryUnmarshall(final SerializerState state, final Class<?> clazz, final Object o) throws UnmarshallException { JSONArray jsonset; if (o instanceof JSONArray) { jsonset = (JSONArray) o;//from ww w.ja v a 2s . c o m } else if (o instanceof JSONObject) { final JSONObject jso = (JSONObject) o; String java_class; // Hint presence try { java_class = jso.getString("javaClass"); } catch (final JSONException e) { throw new UnmarshallException("Could not read javaClass", e); } if (java_class == null) { throw new UnmarshallException("no type hint"); } // Class compatibility check if (!classNameCheck(java_class)) { throw new UnmarshallException("not a Set"); } // JSON Format check try { jsonset = jso.getJSONArray("set"); } catch (final JSONException e) { throw new UnmarshallException("set missing", e); } } else { throw new UnmarshallException("Given object is not JSON object/array"); } if (jsonset == null) { throw new UnmarshallException("set missing"); } // Content check final ObjectMatch m = new ObjectMatch(-1); state.setSerialized(o, m); int idx = 0; try { for (idx = 0; idx < jsonset.length(); idx++) { m.setMismatch(ser.tryUnmarshall(state, null, jsonset.get(idx)).max(m).getMismatch()); } } catch (final UnmarshallException e) { throw new UnmarshallException("index " + idx + " " + e.getMessage(), e); } catch (final JSONException e) { throw new UnmarshallException("index " + idx + " " + e.getMessage(), e); } return m; }
From source file:org.jabsorb.ng.serializer.impl.SetSerializer.java
@Override public Object unmarshall(final SerializerState state, final Class<?> clazz, final Object o) throws UnmarshallException { final JSONArray jsonset; final Set<Object> abset; if (o instanceof JSONArray) { jsonset = (JSONArray) o;//w ww. ja v a 2 s .co m abset = new LinkedHashSet<Object>(); } else if (o instanceof JSONObject) { final JSONObject jso = (JSONObject) o; String java_class; // Hint check try { java_class = jso.getString("javaClass"); } catch (final JSONException e) { throw new UnmarshallException("Could not read javaClass", e); } if (java_class == null) { throw new UnmarshallException("no type hint"); } // Create the set if (java_class.equals("java.util.Set") || java_class.equals("java.util.AbstractSet") || java_class.equals("java.util.HashSet")) { abset = new HashSet<Object>(); } else if (java_class.equals("java.util.TreeSet")) { abset = new TreeSet<Object>(); } else if (java_class.equals("java.util.LinkedHashSet")) { abset = new LinkedHashSet<Object>(); } else { throw new UnmarshallException("not a Set"); } // Parse the JSON set try { jsonset = jso.getJSONArray("set"); } catch (final JSONException e) { throw new UnmarshallException("set missing", e); } } else { throw new UnmarshallException("Given object is not JSON object/array"); } if (jsonset == null) { throw new UnmarshallException("set missing"); } state.setSerialized(o, abset); int idx = 0; try { for (idx = 0; idx < jsonset.length(); idx++) { abset.add(ser.unmarshall(state, null, jsonset.get(idx))); } } catch (final UnmarshallException e) { throw new UnmarshallException("index " + idx + " " + e.getMessage(), e); } catch (final JSONException e) { throw new UnmarshallException("index " + idx + " " + e.getMessage(), e); } return abset; }
From source file:org.catnut.plugin.zhihu.ZhihuItemsFragment.java
private void refresh() { mRequestQueue.add(new CatnutArrayRequest(getActivity(), new CatnutAPI(Request.Method.GET, Zhihu.fetchUrl(1), false, null), Zhihu.ZhihuProcessor.getProcessor(), new Response.Listener<JSONArray>() { @Override//from w w w .ja v a 2 s . com public void onResponse(JSONArray response) { mCount = response.length(); getLoaderManager().restartLoader(0, null, ZhihuItemsFragment.this); new Thread(mLoadTotalCount).start(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(getActivity(), error.getLocalizedMessage(), Toast.LENGTH_LONG).show(); setRefreshing(false); } })); }
From source file:com.ichi2.anki2.DeckOptions.java
public static String getSteps(JSONArray a) { StringBuilder sb = new StringBuilder(); try {//from w ww.j a v a 2s .co m for (int i = 0; i < a.length(); i++) { sb.append(a.getString(i)).append(" "); } } catch (JSONException e) { throw new RuntimeException(e); } return sb.toString().trim(); }
From source file:jGW2API.util.event.Events.java
public Events(JSONObject json) { JSONArray e = json.getJSONArray("events"); this.events = new HashMap(); for (int i = 0; i < e.length(); i++) { Event tmp = new Event(e.getJSONObject(i)); this.events.put(tmp.getEventID(), tmp); }// ww w . j av a2 s . c om }
From source file:org.eclipse.orion.server.tests.servlets.git.GitRevertTest.java
@Test public void testRevert() throws Exception { URI workspaceLocation = createWorkspace(getMethodName()); IPath[] clonePaths = createTestProjects(workspaceLocation); for (IPath clonePath : clonePaths) { // clone a repo JSONObject clone = clone(clonePath); String cloneContentLocation = clone.getString(ProtocolConstants.KEY_CONTENT_LOCATION); // get project/folder metadata WebRequest request = getGetRequest(cloneContentLocation); WebResponse response = webConversation.getResponse(request); assertEquals(HttpURLConnection.HTTP_OK, response.getResponseCode()); JSONObject folder = new JSONObject(response.getText()); JSONObject gitSection = folder.getJSONObject(GitConstants.KEY_GIT); String gitHeadUri = gitSection.getString(GitConstants.KEY_HEAD); JSONObject testTxt = getChild(folder, "test.txt"); modifyFile(testTxt, "first line\nsec. line\nthird line\n"); addFile(testTxt);// ww w .j a v a2 s . com commitFile(testTxt, "lines in test.txt", false); JSONArray commitsArray = log(gitHeadUri); assertEquals(2, commitsArray.length()); JSONObject commit = commitsArray.getJSONObject(0); assertEquals("lines in test.txt", commit.get(GitConstants.KEY_COMMIT_MESSAGE)); String toRevert = commit.getString(ProtocolConstants.KEY_NAME); // REVERT JSONObject revert = revert(gitHeadUri, toRevert); assertEquals("OK", revert.getString(GitConstants.KEY_RESULT)); // new revert commit is present commitsArray = log(gitHeadUri); assertEquals(3, commitsArray.length()); commit = commitsArray.getJSONObject(0); String revertMessage = commit.optString(GitConstants.KEY_COMMIT_MESSAGE); assertEquals(true, revertMessage != null); assertEquals(true, revertMessage.startsWith("Revert \"lines in test.txt\"")); } }
From source file:org.eclipse.orion.server.tests.servlets.git.GitRevertTest.java
@Test public void testRevertFailure() throws Exception { URI workspaceLocation = createWorkspace(getMethodName()); IPath[] clonePaths = createTestProjects(workspaceLocation); for (IPath clonePath : clonePaths) { // clone a repo JSONObject clone = clone(clonePath); String cloneContentLocation = clone.getString(ProtocolConstants.KEY_CONTENT_LOCATION); // get project/folder metadata WebRequest request = getGetRequest(cloneContentLocation); WebResponse response = webConversation.getResponse(request); assertEquals(HttpURLConnection.HTTP_OK, response.getResponseCode()); JSONObject folder = new JSONObject(response.getText()); JSONObject gitSection = folder.getJSONObject(GitConstants.KEY_GIT); String gitHeadUri = gitSection.getString(GitConstants.KEY_HEAD); JSONObject testTxt = getChild(folder, "test.txt"); modifyFile(testTxt, "first line\nsec. line\nthird line\n"); addFile(testTxt);//from w w w .j ava 2 s . c o m commitFile(testTxt, "lines in test.txt", false); JSONArray commitsArray = log(gitHeadUri); assertEquals(2, commitsArray.length()); JSONObject commit = commitsArray.getJSONObject(0); assertEquals("lines in test.txt", commit.get(GitConstants.KEY_COMMIT_MESSAGE)); String toRevert = commit.getString(ProtocolConstants.KEY_NAME); modifyFile(testTxt, "first line\nsec. line\nthird line\nfourth line\n"); addFile(testTxt); // REVERT JSONObject revert = revert(gitHeadUri, toRevert); assertEquals("FAILURE", revert.getString(GitConstants.KEY_RESULT)); // there's no new revert commit commitsArray = log(gitHeadUri); assertEquals(2, commitsArray.length()); commit = commitsArray.getJSONObject(0); String revertMessage = commit.optString(GitConstants.KEY_COMMIT_MESSAGE); assertEquals(true, revertMessage != null); assertEquals(false, revertMessage.startsWith("Revert \"lines in test.txt\"")); } }