List of usage examples for org.json JSONObject has
public boolean has(String key)
From source file:com.nginious.http.serialize.JsonDeserializer.java
/** * Deserializes property with the specified name in the specified json object into a string array. * // w ww .ja v a 2 s .co m * @param object the json object * @param name the property name * @return the deserialized array or <code>null</code> if property doesn't exist * @throws SerializerException if unable to deserialize value */ protected String[] deserializeStringArray(JSONObject object, String name) throws SerializerException { try { if (object.has(name)) { JSONArray array = object.getJSONArray(name); String[] outArray = new String[array.length()]; for (int i = 0; i < array.length(); i++) { outArray[i] = array.getString(i); } return outArray; } return null; } catch (JSONException e) { throw new SerializerException("Can't deserialize string array property " + name, e); } }
From source file:com.nginious.http.serialize.JsonDeserializer.java
/** * Deserializes property with the specified name in the specified json object into a string. * /*from www .j a v a2 s.c o m*/ * @param object the json object * @param name the property name * @return the deserialized value or <code>null</code> if property doesn't exist * @throws SerializerException if unable to deserialize value */ protected String deserializeString(JSONObject object, String name) throws SerializerException { try { if (object.has(name)) { return object.getString(name); } return null; } catch (JSONException e) { throw new SerializerException("Can't deserialize string property " + name, e); } }
From source file:com.krayzk9s.imgurholo.ui.ImagesFragment.java
public void onGetObject(Object object, String tag) { if (tag.equals(IMAGES)) { ImgurHoloActivity activity = (ImgurHoloActivity) getActivity(); if (activity == null) return; SharedPreferences settings = activity.getApiCall().settings; JSONObject data = (JSONObject) object; Log.d("imagesData", "checking"); Log.d("imagesData", "failed"); JSONArray imageArray = new JSONArray(); try {/*from w w w.j av a2 s . c o m*/ Log.d("URI", data.toString()); imageArray = data.getJSONArray("data"); } catch (JSONException e) { try { imageArray = data.getJSONObject("data").getJSONArray("images"); } catch (JSONException e2) { Log.e("Error!", e2.toString() + data.toString()); } } try { Boolean changed = false; for (int i = 0; i < imageArray.length(); i++) { JSONObject imageData = imageArray.getJSONObject(i); String s = ""; if (isGridView) s = settings.getString("IconQuality", "m"); try { if (imageData.has("is_album") && imageData.getBoolean("is_album")) { if (!urls.contains("http://imgur.com/" + imageData.getString(ImgurHoloActivity.IMAGE_DATA_COVER) + s + ".png")) { changed = true; urls.add("http://imgur.com/" + imageData.getString(ImgurHoloActivity.IMAGE_DATA_COVER) + s + ".png"); JSONParcelable dataParcel = new JSONParcelable(); dataParcel.setJSONObject(imageData); ids.add(dataParcel); } } else { if (!urls.contains("http://imgur.com/" + imageData.getString("id") + s + ".png")) { changed = true; urls.add("http://imgur.com/" + imageData.getString("id") + s + ".png"); JSONParcelable dataParcel = new JSONParcelable(); dataParcel.setJSONObject(imageData); ids.add(dataParcel); } } } catch (RejectedExecutionException e) { Log.e("Rejected", e.toString()); } } fetchingImages = !changed; } catch (JSONException e) { Log.e("Error!", e.toString() + "here"); } if (!isGridView && urls.size() > 0) { restoreCards(); } else if (urls.size() > 0) { imageAdapter.notifyDataSetChanged(); } else if (urls.size() == 0 && noImageView != null) noImageView.setVisibility(View.VISIBLE); else { fetchingImages = true; } if (mPullToRefreshLayout != null) mPullToRefreshLayout.setRefreshComplete(); errorText.setVisibility(View.GONE); } }
From source file:com.quantcast.measurement.service.QCPolicy.java
private boolean parsePolicy(String policyJsonString) { boolean successful = true; m_blacklist = null;//from ww w . jav a2 s . c o m m_salt = null; m_blackoutUntil = 0; m_sessionTimeout = null; if (!"".equals(policyJsonString)) { try { JSONObject policyJSON = new JSONObject(policyJsonString); if (policyJSON.has(BLACKLIST_KEY)) { try { JSONArray blacklistJSON = policyJSON.getJSONArray(BLACKLIST_KEY); if (blacklistJSON.length() > 0) { if (m_blacklist == null) { m_blacklist = new HashSet<String>(blacklistJSON.length()); } for (int i = 0; i < blacklistJSON.length(); i++) { m_blacklist.add(blacklistJSON.getString(i)); } } } catch (JSONException e) { QCLog.w(TAG, "Failed to parse blacklist from JSON.", e); } } if (policyJSON.has(SALT_KEY)) { try { m_salt = policyJSON.getString(SALT_KEY); if (USE_NO_SALT.equals(m_salt)) { m_salt = null; } } catch (JSONException e) { QCLog.w(TAG, "Failed to parse salt from JSON.", e); } } if (policyJSON.has(BLACKOUT_KEY)) { try { m_blackoutUntil = policyJSON.getLong(BLACKOUT_KEY); } catch (JSONException e) { QCLog.w(TAG, "Failed to parse blackout from JSON.", e); } } if (policyJSON.has(SESSION_TIMEOUT_KEY)) { try { m_sessionTimeout = policyJSON.getLong(SESSION_TIMEOUT_KEY); if (m_sessionTimeout <= 0) { m_sessionTimeout = null; } } catch (JSONException e) { QCLog.w(TAG, "Failed to parse session timeout from JSON.", e); } } } catch (JSONException e) { QCLog.w(TAG, "Failed to parse JSON from string: " + policyJsonString); successful = false; } } return successful; }
From source file:org.dasein.cloud.tier3.DataCenters.java
@Override public @Nonnull Collection<DataCenter> listDataCenters(@Nonnull String providerRegionId) throws InternalException, CloudException { APITrace.begin(provider, "listDataCenters"); try {/* w w w . j a v a2 s .c o m*/ Region region = getRegion(providerRegionId); if (region == null) { throw new CloudException("No such region: " + providerRegionId); } ProviderContext ctx = provider.getContext(); if (ctx == null) { throw new NoContextException(); } Cache<DataCenter> cache = Cache.getInstance(provider, "dataCenters", DataCenter.class, CacheLevel.REGION_ACCOUNT, new TimePeriod<Day>(1, TimePeriod.DAY)); Collection<DataCenter> dcList = (Collection<DataCenter>) cache.get(ctx); if (dcList == null) { dcList = new ArrayList<DataCenter>(); logger.info("Get data center locations for " + providerRegionId + " for account " + ctx.getAccountNumber()); APIHandler method = new APIHandler(provider); APIResponse response = method.post("Account/GetLocations/JSON", ""); response.validate(); JSONObject json = response.getJSON(); if (json.has("Locations")) { for (int i = 0; i < json.getJSONArray("Locations").length(); i++) { JSONObject location = json.getJSONArray("Locations").getJSONObject(i); DataCenter dc = new DataCenter(); String apiLocation = location.getString("Alias"); dc.setActive(true); dc.setAvailable(true); dc.setName(apiLocation); dc.setProviderDataCenterId(apiLocation); dc.setRegionId(providerRegionId); dcList.add(dc); } } cache.put(ctx, dcList); } return dcList; } catch (JSONException e) { throw new CloudException(e); } finally { APITrace.end(); } }
From source file:org.dasein.cloud.tier3.DataCenters.java
@Override public Collection<Region> listRegions() throws InternalException, CloudException { APITrace.begin(provider, "listRegions"); try {/*from ww w . j ava 2s . com*/ ProviderContext ctx = provider.getContext(); if (ctx == null) { throw new NoContextException(); } Cache<Region> cache = Cache.getInstance(provider, "regions", Region.class, CacheLevel.CLOUD_ACCOUNT, new TimePeriod<Day>(1, TimePeriod.DAY)); Collection<Region> regions = (Collection<Region>) cache.get(ctx); if (regions == null) { regions = new ArrayList<Region>(); APIHandler method = new APIHandler(provider); APIResponse response = method.post("Account/GetLocations/JSON", ""); response.validate(); JSONObject json = response.getJSON(); if (json.has("Locations")) { for (int i = 0; i < json.getJSONArray("Locations").length(); i++) { JSONObject location = json.getJSONArray("Locations").getJSONObject(i); String apiRegion = location.getString("Region"); Region region = new Region(apiRegion, apiRegion, true, true); if (apiRegion.contains(" ")) { region.setJurisdiction(apiRegion.substring(1, apiRegion.indexOf(" "))); } else { region.setJurisdiction(apiRegion); } regions.add(region); } } cache.put(ctx, regions); } return regions; } catch (JSONException e) { throw new CloudException(e); } finally { APITrace.end(); } }
From source file:com.repkap11.repcast.VideoProvider.java
public static List<MediaInfo> buildMedia(String url) throws JSONException { if (null != mediaList) { return mediaList; }//w w w. j a v a 2s.c om Map<String, String> urlPrefixMap = new HashMap<>(); mediaList = new ArrayList<>(); JSONObject jsonObj = new VideoProvider().parseUrl(url); JSONArray categories = jsonObj.getJSONArray(TAG_CATEGORIES); if (null != categories) { for (int i = 0; i < categories.length(); i++) { JSONObject category = categories.getJSONObject(i); urlPrefixMap.put(TAG_HLS, category.getString(TAG_HLS)); urlPrefixMap.put(TAG_DASH, category.getString(TAG_DASH)); urlPrefixMap.put(TAG_MP4, category.getString(TAG_MP4)); urlPrefixMap.put(TAG_IMAGES, category.getString(TAG_IMAGES)); urlPrefixMap.put(TAG_TRACKS, category.getString(TAG_TRACKS)); category.getString(TAG_NAME); JSONArray videos = category.getJSONArray(TAG_VIDEOS); if (null != videos) { for (int j = 0; j < videos.length(); j++) { String videoUrl = null; String mimeType = null; JSONObject video = videos.getJSONObject(j); String subTitle = video.getString(TAG_SUBTITLE); JSONArray videoSpecs = video.getJSONArray(TAG_SOURCES); if (null == videoSpecs || videoSpecs.length() == 0) { continue; } for (int k = 0; k < videoSpecs.length(); k++) { JSONObject videoSpec = videoSpecs.getJSONObject(k); if (TARGET_FORMAT.equals(videoSpec.getString(TAG_VIDEO_TYPE))) { videoUrl = urlPrefixMap.get(TARGET_FORMAT) + videoSpec.getString(TAG_VIDEO_URL); mimeType = videoSpec.getString(TAG_VIDEO_MIME); } } if (videoUrl == null) { continue; } String imageUrl = urlPrefixMap.get(TAG_IMAGES) + video.getString(TAG_THUMB); String bigImageUrl = urlPrefixMap.get(TAG_IMAGES) + video.getString(TAG_IMG_780_1200); String title = video.getString(TAG_TITLE); String studio = video.getString(TAG_STUDIO); int duration = video.getInt(TAG_DURATION); List<MediaTrack> tracks = null; if (video.has(TAG_TRACKS)) { JSONArray tracksArray = video.getJSONArray(TAG_TRACKS); if (tracksArray != null) { tracks = new ArrayList<>(); for (int k = 0; k < tracksArray.length(); k++) { JSONObject track = tracksArray.getJSONObject(k); tracks.add(buildTrack(track.getLong(TAG_TRACK_ID), track.getString(TAG_TRACK_TYPE), track.getString(TAG_TRACK_SUBTYPE), urlPrefixMap.get(TAG_TRACKS) + track.getString(TAG_TRACK_CONTENT_ID), track.getString(TAG_TRACK_NAME), track.getString(TAG_TRACK_LANGUAGE))); } } } mediaList.add(buildMediaInfo(title, studio, subTitle, duration, videoUrl, mimeType, imageUrl, bigImageUrl, tracks)); } } } } return mediaList; }
From source file:com.facebook.config.AbstractExpandedConfJSONProvider.java
private JSONObject getExpandedJSONConfig() throws JSONException { Set<String> traversedFiles = new HashSet<>(); Queue<String> toTraverse = new LinkedList<>(); // Seed the graph traversal with the root node traversedFiles.add(root);//from ww w.j av a 2 s . c o m toTraverse.add(root); // Policy: parent configs will override children (included) configs JSONObject expanded = new JSONObject(); while (!toTraverse.isEmpty()) { String current = toTraverse.remove(); JSONObject json = load(current); JSONObject conf = json.getJSONObject(CONF_KEY); Iterator<String> iter = conf.keys(); while (iter.hasNext()) { String key = iter.next(); // Current config will get to insert keys before its include files if (!expanded.has(key)) { expanded.put(key, conf.get(key)); } } // Check if the file itself has any included files if (json.has(INCLUDES_KEY)) { JSONArray includes = json.getJSONArray(INCLUDES_KEY); for (int idx = 0; idx < includes.length(); idx++) { String include = resolve(current, includes.getString(idx)); if (traversedFiles.contains(include)) { LOG.warn("Config file was included twice: " + include); } else { toTraverse.add(include); traversedFiles.add(include); } } } } return expanded; }
From source file:com.trellmor.berrytube.ChatMessage.java
/** * Constructs a <code>ChatMessage</code> from an <code>JSONObject</code> * /* w ww . ja v a2 s. co m*/ * @param message * <code>JSONObject<code> containing all the required fields to form a chat message * @throws JSONException */ public ChatMessage(JSONObject message) throws JSONException { mNick = message.getString("nick"); mMsg = message.getString("msg"); mMulti = message.getInt("multi"); mType = message.getInt("type"); // check emote if (message.has("emote") && message.get("emote") instanceof String) { String emote = message.getString("emote"); if (emote.compareTo("rcv") == 0) this.mEmote = EMOTE_RCV; else if (emote.compareTo("sweetiebot") == 0) this.mEmote = EMOTE_SWEETIEBOT; else if (emote.compareTo("spoiler") == 0) this.mEmote = EMOTE_SPOILER; else if (emote.compareTo("act") == 0) this.mEmote = EMOTE_ACT; else if (emote.compareTo("request") == 0) this.mEmote = EMOTE_REQUEST; else if (emote.compareTo("poll") == 0) this.mEmote = EMOTE_POLL; else if (emote.compareTo("drink") == 0) this.mEmote = EMOTE_DRINK; } else mEmote = 0; JSONObject metadata = message.getJSONObject("metadata"); mFlair = metadata.optInt("flair"); mFlaunt = metadata.optBoolean("nameflaunt"); try { this.mTimeStamp = TIMESTAMP_FORMAT.parse(message.getString("timestamp")).getTime(); } catch (ParseException pe) { Log.w(TAG, "Error parsing timestamp string"); this.mTimeStamp = System.currentTimeMillis(); } this.mHidden = (this.mEmote == EMOTE_SPOILER); }