List of usage examples for org.json JSONObject has
public boolean has(String key)
From source file:com.google.cast.samples.tictactoe.GameChannel.java
/** * Processes all Text messages received from the receiver device and performs the appropriate * action for the message. Recognizable messages are of the form: * * <ul>// w ww . j a v a 2s.c o m * <li> KEY_JOINED: a player joined the current game * <li> KEY_MOVED: a player made a move * <li> KEY_ENDGAME: the game has ended in one of the END_STATE_* states * <li> KEY_ERROR: a game error has occurred * <li> KEY_BOARD_LAYOUT_RESPONSE: the board has been laid out in some new configuration * </ul> * * <p>No other messages are recognized. */ @Override public void onMessageReceived(CastDevice castDevice, String namespace, String message) { try { Log.d(TAG, "onTextMessageReceived: " + message); JSONObject payload = new JSONObject(message); Log.d(TAG, "payload: " + payload); if (payload.has(KEY_EVENT)) { String event = payload.getString(KEY_EVENT); if (KEY_JOINED.equals(event)) { Log.d(TAG, "JOINED"); try { String player = payload.getString(KEY_PLAYER); String opponentName = payload.getString(KEY_OPPONENT); onGameJoined(player, opponentName); } catch (JSONException e) { e.printStackTrace(); } } else if (KEY_MOVED.equals(event)) { Log.d(TAG, "MOVED"); try { String player = payload.getString(KEY_PLAYER); int row = payload.getInt(KEY_ROW); int column = payload.getInt(KEY_COLUMN); boolean isGameOver = payload.getBoolean(KEY_GAME_OVER); onGameMove(player, row, column, isGameOver); } catch (JSONException e) { e.printStackTrace(); } } else if (KEY_ENDGAME.equals(event)) { Log.d(TAG, "ENDGAME"); try { String endState = payload.getString(KEY_END_STATE); int winningLocation = -1; if (END_STATE_ABANDONED.equals(endState) == false) { winningLocation = payload.getInt(KEY_WINNING_LOCATION); } onGameEnd(endState, winningLocation); } catch (JSONException e) { e.printStackTrace(); } } else if (KEY_ERROR.equals(event)) { Log.d(TAG, "ERROR"); try { String errorMessage = payload.getString(KEY_MESSAGE); onGameError(errorMessage); } catch (JSONException e) { e.printStackTrace(); } } else if (KEY_BOARD_LAYOUT_RESPONSE.equals(event)) { Log.d(TAG, "Board Layout"); int[][] boardLayout = new int[3][3]; try { JSONArray boardJSONArray = payload.getJSONArray(KEY_BOARD); for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { boardLayout[i][j] = boardJSONArray.getInt(i * 3 + j); } } onGameBoardLayout(boardLayout); } catch (JSONException e) { e.printStackTrace(); } } } else { Log.w(TAG, "Unknown payload: " + payload); } } catch (JSONException e) { Log.w(TAG, "Message doesn't contain an expected key.", e); } }
From source file:org.loklak.server.UserRoles.java
public void loadUserRolesFromObject() throws IllegalArgumentException { defaultRoles = new HashMap<>(); roles = new HashMap<>(); try {/* ww w.j a va 2 s . c o m*/ ArrayList<String> queue = new ArrayList<>(); // get all user roles based on BaseUserRole. Add all other into a queue. for (String name : json.keySet()) { Log.getLog().debug("searching for key " + name); JSONObject obj = json.getJSONObject(name); if (hasMandatoryFields(obj)) { Log.getLog().debug(name + " has mandatory fields"); Log.getLog().debug("parent value is: " + obj.getString("parent")); BaseUserRole bur; try { bur = BaseUserRole.valueOf(obj.getString("parent")); } catch (IllegalArgumentException e) { queue.add(name); Log.getLog().debug("no bur, adding to queue"); continue; } Log.getLog().debug("successfully created bur from parent"); UserRole userRole = new UserRole(name, bur, null, obj); roles.put(name, userRole); } } // recursively add boolean changed = true; while (changed) { changed = false; for (String key : queue) { JSONObject obj = json.getJSONObject(key); if (roles.containsKey(obj.getString("parent"))) { UserRole parent = roles.get(obj.getString("parent")); UserRole userRole = new UserRole(key, parent.getBaseUserRole(), parent, obj); roles.put(key, userRole); queue.remove(key); changed = true; } } } Log.getLog().debug("available roles: " + roles.keySet().toString()); // get default roles JSONObject defaults = json.getJSONObject("defaults"); for (BaseUserRole bur : BaseUserRole.values()) { if (defaults.has(bur.name()) && roles.containsKey(defaults.getString(bur.name()))) { Log.getLog().debug("found default role for " + bur.name() + ": " + roles.get(defaults.getString(bur.name())).getDisplayName()); setDefaultUserRole(bur, roles.get(defaults.getString(bur.name()))); } else { Log.getLog().info("could not find default role for " + bur.name() + ", creating default role"); createDefaultUserRole(bur); } } } catch (Exception e) { defaultRoles = null; roles = null; throw new IllegalArgumentException("Could not load user roles from file: ", e); } }
From source file:org.loklak.server.UserRoles.java
private boolean hasMandatoryFields(JSONObject object) { return object.has("parent") && object.has("display-name") && object.has("permissions"); }
From source file:com.commontime.plugin.LocationManager.java
private Region parseRegion(JSONObject json) throws JSONException, InvalidKeyException, UnsupportedOperationException { if (!json.has("typeName")) throw new InvalidKeyException("'typeName' is missing, cannot parse Region."); if (!json.has("identifier")) throw new InvalidKeyException("'identifier' is missing, cannot parse Region."); String typeName = json.getString("typeName"); if (typeName.equals("BeaconRegion")) { return parseBeaconRegion(json); } else if (typeName.equals("CircularRegion")) { return parseCircularRegion(json); } else {/*from ww w . j a v a 2 s. co m*/ throw new UnsupportedOperationException("Unsupported region type"); } }
From source file:com.commontime.plugin.LocationManager.java
private Region parseCircularRegion(JSONObject json) throws JSONException, InvalidKeyException, UnsupportedOperationException { if (!json.has("latitude")) throw new InvalidKeyException("'latitude' is missing, cannot parse CircularRegion."); if (!json.has("longitude")) throw new InvalidKeyException("'longitude' is missing, cannot parse CircularRegion."); if (!json.has("radius")) throw new InvalidKeyException("'radius' is missing, cannot parse CircularRegion."); /*String identifier = json.getString("identifier"); double latitude = json.getDouble("latitude"); double longitude = json.getDouble("longitude"); double radius = json.getDouble("radius"); */// w ww . j a va 2 s. c om throw new UnsupportedOperationException("Circular regions are not supported at present"); }
From source file:com.commontime.plugin.LocationManager.java
private Region parseBeaconRegion(JSONObject json) throws JSONException, UnsupportedOperationException { String identifier = json.getString("identifier"); //For Android, uuid can be null when scanning for all beacons (I think) String uuid = json.has("uuid") && !json.isNull("uuid") ? json.getString("uuid") : null; String major = json.has("major") && !json.isNull("major") ? json.getString("major") : null; String minor = json.has("minor") && !json.isNull("minor") ? json.getString("minor") : null; if (major == null && minor != null) throw new UnsupportedOperationException("Unsupported combination of 'major' and 'minor' parameters."); Identifier id1 = uuid != null ? Identifier.parse(uuid) : null; Identifier id2 = major != null ? Identifier.parse(major) : null; Identifier id3 = minor != null ? Identifier.parse(minor) : null; return new Region(identifier, id1, id2, id3); }
From source file:org.achtern.AchternEngine.core.resource.loader.json.JsonLoader.java
/** * Reads a {@link org.achtern.AchternEngine.core.rendering.Color} from a JSON * declaration./*from w ww.j a v a 2 s. co m*/ * Components not specified will default to <code>1</code>. * @param json JSONObject * @return Color */ protected Color getColor(JSONObject json) { float r, g, b, a; // Default to 1 r = g = b = a = 1; if (json.has("r")) { r = (float) json.getDouble("r"); } if (json.has("g")) { g = (float) json.getDouble("g"); } if (json.has("b")) { b = (float) json.getDouble("b"); } if (json.has("a")) { a = (float) json.getDouble("a"); } return new Color(r, g, b, a); }
From source file:org.achtern.AchternEngine.core.resource.loader.json.JsonLoader.java
/** * Reads a {@link org.achtern.AchternEngine.core.rendering.texture.Texture} from a JSON * declaration.//from w ww. ja v a 2 s. co m * Loads it via the {@link org.achtern.AchternEngine.core.resource.ResourceLoader} * @param json JSONObject * @return Texture * @throws Exception (from ResourceLoader) */ protected Texture getTexture(JSONObject json) throws Exception { if (json.has("file")) { return ResourceLoader.getTexture(json.getString("file")); } // Search for a plain color if (json.has("solid")) { Color c = getColor(json.getJSONObject("solid")); return new Texture(ImageGenerator.bytesFromColor(c)); } throw new ParsingException("Texture declaration illegal, missing <file> or <solid> key"); }
From source file:com.cssweb.android.view.KlineView.java
/** * ??/*from w w w. jav a 2 s .c o m*/ * @throws JSONException */ private void makeTodayData() throws JSONException { int l = quoteData.getJSONArray("K").length(); if (quoteData.isNull("joTMP")) {//temp?? newStockhandler(); return; } if (!quoteData.getBoolean("tradeFlag")) { //?????? //???0?? return; } JSONObject tempvalue = quoteData.getJSONObject("joTMP"); double zrsp = quoteData.getDouble("zrsp"); period = quoteData.getString("period"); if (period.equals("week") || period.equals("month") || period.equals("year")) { if (tempvalue.getString(period) != null) { if (tempvalue.isNull("ma") || quoteData.isNull("MA") || quoteData.isNull("K")) { makeTmpData(); return; } int tp = quoteData.getInt("tp"); if (tp == 1) { String date = tempvalue.getJSONObject(period).getString("date"); if (DateTool.isSameWeekMonthYear(date, period)) { quoteData.getJSONArray("K").getJSONArray(l - 1).put(1, tempvalue.getJSONObject(period).getDouble("open")); quoteData.getJSONArray("K").getJSONArray(l - 1).put(2, tempvalue.getJSONObject(period).getDouble("high")); quoteData.getJSONArray("K").getJSONArray(l - 1).put(3, tempvalue.getJSONObject(period).getDouble("low")); quoteData.getJSONArray("K").getJSONArray(l - 1).put(4, zrsp); quoteData.getJSONArray("K").getJSONArray(l - 1).put(5, tempvalue.getJSONObject(period).getDouble("cjsl")); quoteData.getJSONArray("K").getJSONArray(l - 1).put(6, tempvalue.getJSONObject(period).getDouble("cjje")); //quoteData.getJSONArray("K").getJSONArray(l-1).put(0, ) ; zrsp = tempvalue.getJSONObject(period).getDouble("close"); Log.i("#####period->zrsp####", quoteData.getJSONArray("K").getJSONArray(l - 1).getDouble(4) + ">>>>>>>>" + zrsp); } } else { int spayday = quoteData.getInt("spday"); double cjsl = quoteData.getJSONArray("K").getJSONArray(l - 1).getDouble(5); double cjje = quoteData.getJSONArray("K").getJSONArray(l - 1).getDouble(6); if (spayday == 0) {//0??temp????? quoteData.getJSONArray("K").getJSONArray(l - 1).put(2, Math.max(quoteData.getJSONArray("K").getJSONArray(l - 1).getDouble(2), tempvalue.getJSONObject(period).getDouble("high"))); quoteData.getJSONArray("K").getJSONArray(l - 1).put(3, Math.min(quoteData.getJSONArray("K").getJSONArray(l - 1).getDouble(3), tempvalue.getJSONObject(period).getDouble("low"))); quoteData.getJSONArray("K").getJSONArray(l - 1).put(5, cjsl + tempvalue.getJSONObject(period).getDouble("cjsl")); quoteData.getJSONArray("K").getJSONArray(l - 1).put(6, cjje + tempvalue.getJSONObject(period).getDouble("cjje")); } else { quoteData.getJSONArray("K").getJSONArray(l - 1).put(2, Math.max(quoteData.getJSONArray("K").getJSONArray(l - 1).getDouble(2), tempvalue.getJSONObject(period).getDouble("high"))); quoteData.getJSONArray("K").getJSONArray(l - 1).put(3, Math.min(quoteData.getJSONArray("K").getJSONArray(l - 1).getDouble(3), tempvalue.getJSONObject(period).getDouble("low"))); quoteData.getJSONArray("K").getJSONArray(l - 1).put(5, tempvalue.getJSONObject(period).getDouble("cjsl")); quoteData.getJSONArray("K").getJSONArray(l - 1).put(6, tempvalue.getJSONObject(period).getDouble("cjje")); } double jrkp = tempvalue.getJSONObject(period).getDouble("open"); if (jrkp != 0) { quoteData.getJSONArray("K").getJSONArray(l - 1).put(1, jrkp); } zrsp = tempvalue.getJSONObject(period).getDouble("close"); } } } String qt = quoteData.getJSONArray("K").getJSONArray(l - 1).getString(0); double high = quoteData.getJSONArray("K").getJSONArray(l - 1).getDouble(2); double low = quoteData.getJSONArray("K").getJSONArray(l - 1).getDouble(3); double zjcj = quoteData.getJSONArray("K").getJSONArray(l - 1).getDouble(4); double cjsl = quoteData.getJSONArray("K").getJSONArray(l - 1).getDouble(5); double summa4 = tempvalue.getJSONObject("ma").getDouble("sumMa4"); double summa9 = tempvalue.getJSONObject("ma").getDouble("sumMa9"); double summa19 = tempvalue.getJSONObject("ma").getDouble("sumMa19"); double summa59 = tempvalue.getJSONObject("ma").getDouble("sumMa59"); double sumvolma4 = tempvalue.getJSONObject("ma").getDouble("sumMavol4"); double sumvolma9 = tempvalue.getJSONObject("ma").getDouble("sumMavol9"); if (mainIndicatorType.toUpperCase().equals("MA") || mainIndicatorType.toUpperCase().equals("BOLL")) { quoteData.getJSONArray("MA").put(new JSONArray()); quoteData.getJSONArray("MA").getJSONArray(l - 1).put(0, qt); double ma5 = 0; if (l > 4) ma5 = (summa4 + zjcj) / 5; quoteData.getJSONArray("MA").getJSONArray(l - 1).put(1, ma5); double ma10 = 0; if (l > 9) ma10 = (summa9 + zjcj) / 10; quoteData.getJSONArray("MA").getJSONArray(l - 1).put(2, ma10); double ma20 = 0; if (l > 19) ma20 = (summa19 + zjcj) / 20; quoteData.getJSONArray("MA").getJSONArray(l - 1).put(3, ma20); double ma60 = 0; if (l > 59) ma60 = (summa59 + zjcj) / 60; quoteData.getJSONArray("MA").getJSONArray(l - 1).put(4, ma60); } double mavol5 = (sumvolma4 + cjsl) / 5; quoteData.getJSONArray("MA").getJSONArray(l - 1).put(5, mavol5); double mavol10 = (sumvolma9 + cjsl) / 10; quoteData.getJSONArray("MA").getJSONArray(l - 1).put(6, mavol10); if (mainIndicatorType.equals("BOLL")) { quoteData.getJSONArray("BOLL").put(new JSONArray()); double mid = 0; double upper = 0; double lower = 0; if (l > 25) { double sumClose = tempvalue.getJSONObject("boll").getDouble("sumClose"); double sumPowClose = tempvalue.getJSONObject("boll").getDouble("sumPowClose"); double maPow = 0; double temp; if (l > 25) { mid = (sumClose + zjcj) / 26; maPow = (sumPowClose + zjcj * zjcj) / 26; temp = (maPow - mid * mid); if (temp < 0) temp = 0; upper = mid + 2 * Math.sqrt((temp * 26) / (26 - 1)); lower = mid - 2 * Math.sqrt((temp * 26) / (26 - 1)); } } quoteData.getJSONArray("BOLL").getJSONArray(l - 1).put(0, qt); quoteData.getJSONArray("BOLL").getJSONArray(l - 1).put(1, mid); quoteData.getJSONArray("BOLL").getJSONArray(l - 1).put(2, upper); quoteData.getJSONArray("BOLL").getJSONArray(l - 1).put(3, lower); } if (indicatorType.equals("MACD")) { quoteData.getJSONArray("MACD").put(new JSONArray()); double prevemashort = 0; double prevemalong = 0; double prevdea = 0; double dif = 0; double dea = 0; double macd = 0; double emashort = 0; double emalong = 0; prevemashort = tempvalue.getJSONObject("macd").getDouble("emaShort"); prevemalong = tempvalue.getJSONObject("macd").getDouble("emaLong"); prevdea = tempvalue.getJSONObject("macd").getDouble("dea"); if (l > 1) { emashort = (2 * zjcj + (12 - 1) * prevemashort) / (12 + 1); emalong = (2 * zjcj + (26 - 1) * prevemalong) / (26 + 1); dif = emashort - emalong; dea = (2 * dif + (9 - 1) * prevdea) / (9 + 1); macd = (dif - dea) * 2; } quoteData.getJSONArray("MACD").getJSONArray(l - 1).put(0, qt); quoteData.getJSONArray("MACD").getJSONArray(l - 1).put(1, dif); quoteData.getJSONArray("MACD").getJSONArray(l - 1).put(2, dea); quoteData.getJSONArray("MACD").getJSONArray(l - 1).put(3, macd); } if (indicatorType.equals("BIAS")) { quoteData.getJSONArray("BIAS").put(new JSONArray()); double sum5 = tempvalue.getJSONObject("bias").getDouble("sum5"); double sum11 = tempvalue.getJSONObject("bias").getDouble("sum11"); double sum23 = tempvalue.getJSONObject("bias").getDouble("sum23"); double bias1 = l >= 6 ? (zjcj - (sum5 + zjcj) / 6) / ((sum5 + zjcj) / 6) * 100 : 0; double bias2 = l >= 12 ? (zjcj - (sum11 + zjcj) / 12) / ((sum11 + zjcj) / 12) * 100 : 0; double bias3 = l >= 24 ? (zjcj - (sum23 + zjcj) / 24) / ((sum23 + zjcj) / 24) * 100 : 0; quoteData.getJSONArray("BIAS").getJSONArray(l - 1).put(0, qt); quoteData.getJSONArray("BIAS").getJSONArray(l - 1).put(1, bias1); quoteData.getJSONArray("BIAS").getJSONArray(l - 1).put(2, bias2); quoteData.getJSONArray("BIAS").getJSONArray(l - 1).put(3, bias3); } if (indicatorType.equals("RSI")) { quoteData.getJSONArray("RSI").put(new JSONArray()); double rsi1 = 0; double rsi2 = 0; double rsi3 = 0; if (l > 1 && tempvalue.has("rsi")) { double smaMax1 = tempvalue.getJSONObject("rsi").getDouble("smaMax1"); double smaMax2 = tempvalue.getJSONObject("rsi").getDouble("smaMax2"); double smaMax3 = tempvalue.getJSONObject("rsi").getDouble("smaMax3"); double smaAbs1 = tempvalue.getJSONObject("rsi").getDouble("smaAbs1"); double smaAbs2 = tempvalue.getJSONObject("rsi").getDouble("smaAbs2"); double smaAbs3 = tempvalue.getJSONObject("rsi").getDouble("smaAbs3"); double rsiMax1 = (Math.max(zjcj - zrsp, 0.0) * 1 + smaMax1 * (6 - 1)) / 6; double rsiAbs1 = (Math.abs(zjcj - zrsp) * 1 + smaAbs1 * (6 - 1)) / 6; if (rsiAbs1 == 0) rsi1 = 0; else rsi1 = rsiMax1 / rsiAbs1 * 100; double rsiMax2 = (Math.max(zjcj - zrsp, 0.0) * 1 + smaMax2 * (12 - 1)) / 12; double rsiAbs2 = (Math.abs(zjcj - zrsp) * 1 + smaAbs2 * (12 - 1)) / 12; if (rsiAbs2 == 0) rsi2 = 0; else rsi2 = rsiMax2 / rsiAbs2 * 100; double rsiMax3 = (Math.max(zjcj - zrsp, 0.0) * 1 + smaMax3 * (24 - 1)) / 24; double rsiAbs3 = (Math.abs(zjcj - zrsp) * 1 + smaAbs3 * (24 - 1)) / 24; if (rsiAbs3 == 0) rsi3 = 0; else rsi3 = rsiMax3 / rsiAbs3 * 100; } quoteData.getJSONArray("RSI").getJSONArray(l - 1).put(0, qt); quoteData.getJSONArray("RSI").getJSONArray(l - 1).put(1, rsi1); quoteData.getJSONArray("RSI").getJSONArray(l - 1).put(2, rsi2); quoteData.getJSONArray("RSI").getJSONArray(l - 1).put(3, rsi3); } if (indicatorType.equals("KDJ")) { quoteData.getJSONArray("KDJ").put(new JSONArray()); double newk = 0; double newd = 0; double newj = 0; if (l > 1 && tempvalue.has("kdj")) { double K = quoteData.getJSONArray("KDJ").getJSONArray(l - 2).getDouble(1); double D = quoteData.getJSONArray("KDJ").getJSONArray(l - 2).getDouble(2); double HHV = tempvalue.getJSONObject("kdj").getDouble("hhv"); double LLV = tempvalue.getJSONObject("kdj").getDouble("llv"); double nowllv = 0.0; if (LLV < low) // l? nowllv = LLV; else nowllv = low; double nowhhv = 0.0; if (HHV > high) nowhhv = HHV; else nowhhv = high; double rsv; if (Math.abs(nowhhv - nowllv) < 0.0001) { rsv = 0; } else { rsv = (zjcj - nowllv) / (nowhhv - nowllv) * 100; } newk = (rsv * 1 + K * (3 - 1)) / 3; newd = (newk * 1 + D * (3 - 1)) / 3; newj = 3 * newk - 2 * newd; } quoteData.getJSONArray("KDJ").getJSONArray(l - 1).put(0, qt); quoteData.getJSONArray("KDJ").getJSONArray(l - 1).put(1, newk); quoteData.getJSONArray("KDJ").getJSONArray(l - 1).put(2, newd); quoteData.getJSONArray("KDJ").getJSONArray(l - 1).put(3, newj); } if (indicatorType.equals("CCI")) { double CCI = 0; quoteData.getJSONArray("CCI").put(new JSONArray()); if (l > 13 && tempvalue.has("cci")) { JSONArray typlist = tempvalue.getJSONObject("cci").getJSONArray("typ"); double sumTyp = 0; double TYP = (zjcj + high + low) / 3; double rit = 0; for (int i = 0; i < typlist.length(); i++) { rit = typlist.getDouble(i); if (i == 13) break; sumTyp += rit; } sumTyp += TYP; double ma = sumTyp / 14; sumTyp = 0; for (int i = 0; i < typlist.length(); i++) { rit = typlist.getDouble(i); if (i == 13) break; sumTyp += Math.abs(rit - ma); } sumTyp += Math.abs(TYP - ma); double avedev = sumTyp / 14; if (avedev == 0) CCI = 0; else CCI = (TYP - ma) / (0.015 * avedev); } quoteData.getJSONArray("CCI").getJSONArray(l - 1).put(0, qt); quoteData.getJSONArray("CCI").getJSONArray(l - 1).put(1, CCI); } if (indicatorType.equals("OBV")) { quoteData.getJSONArray("OBV").put(new JSONArray()); double obv = 0, maobv = 0; if (tempvalue.has("obv")) { if (zjcj > zrsp) { obv = tempvalue.getJSONObject("obv").getDouble("obv") + cjsl; } if (zjcj == zrsp) { obv = 0; } if (zjcj < zrsp) { obv = tempvalue.getJSONObject("obv").getDouble("obv") - cjsl; } if (l >= 29) { maobv = (tempvalue.getJSONObject("obv").getDouble("sumObv29") + obv) / 30; } else { maobv = 0; } } quoteData.getJSONArray("OBV").getJSONArray(l - 1).put(0, qt); quoteData.getJSONArray("OBV").getJSONArray(l - 1).put(1, obv); quoteData.getJSONArray("OBV").getJSONArray(l - 1).put(2, maobv); } if (indicatorType.equals("PSY")) { quoteData.getJSONArray("PSY").put(new JSONArray()); double countPsy = 0, psy = 0, psyma = 0; if (zjcj > zrsp) { countPsy = 1; } else { countPsy = 0; } if (l >= 11 && tempvalue.has("psy")) { countPsy += tempvalue.getJSONObject("psy").getDouble("psyCount11"); psy = countPsy / 12 * 100; psyma = (tempvalue.getJSONObject("psy").getDouble("sumPsy") + psy) / 6; } else { psy = 0; } quoteData.getJSONArray("PSY").getJSONArray(l - 1).put(0, qt); quoteData.getJSONArray("PSY").getJSONArray(l - 1).put(1, psy); quoteData.getJSONArray("PSY").getJSONArray(l - 1).put(2, psyma); } if (indicatorType.equals("ROC")) { quoteData.getJSONArray("ROC").put(new JSONArray()); double roc = 0, rocma = 0; if (l > 12 && tempvalue.has("roc")) { double refClose12 = tempvalue.getJSONObject("roc").getDouble("refClose12"); if (refClose12 == 0) { roc = 0; } else { roc = 100 * (zjcj - refClose12) / refClose12; } rocma = (tempvalue.getJSONObject("roc").getDouble("sumRoc") + roc) / 6; } else { roc = 0; } quoteData.getJSONArray("ROC").getJSONArray(l - 1).put(0, qt); quoteData.getJSONArray("ROC").getJSONArray(l - 1).put(1, roc); quoteData.getJSONArray("ROC").getJSONArray(l - 1).put(2, rocma); } if (indicatorType.equals("WR")) { quoteData.getJSONArray("WR").put(new JSONArray()); double wr = 0, wr2 = 0; if (l > 9 && tempvalue.has("wr")) { double llv = tempvalue.getJSONObject("wr").getDouble("llv"); double hhv = tempvalue.getJSONObject("wr").getDouble("hhv"); hhv = Math.max(hhv, high); llv = Math.min(llv, low); if (hhv == llv) { wr = 0; } else { wr = 100 * (hhv - zjcj) / (hhv - llv); } } else { wr = 0; } if (l > 5 && tempvalue.has("wr")) { double llv2 = tempvalue.getJSONObject("wr").getDouble("llv2"); double hhv2 = tempvalue.getJSONObject("wr").getDouble("hhv2"); hhv2 = Math.max(hhv2, high); llv2 = Math.min(llv2, low); if (hhv2 == llv2) { wr2 = 0; } else { wr2 = 100 * (hhv2 - zjcj) / (hhv2 - llv2); } } else { wr2 = 0; } quoteData.getJSONArray("WR").getJSONArray(l - 1).put(0, qt); quoteData.getJSONArray("WR").getJSONArray(l - 1).put(1, wr); quoteData.getJSONArray("WR").getJSONArray(l - 1).put(2, wr2); } if (indicatorType.equals("VR")) { quoteData.getJSONArray("VR").put(new JSONArray()); double vr = 0, vrma = 0; if (l >= 24 && tempvalue.has("vr")) { double sum1 = tempvalue.getJSONObject("vr").getDouble("sum1"); double sum2 = tempvalue.getJSONObject("vr").getDouble("sum2"); if (zjcj > zrsp) { sum1 += cjsl; } else { sum2 += cjsl; } if (sum2 == 0) { vr = 0; } else { vr = 100 * sum1 / sum2; } } else { vr = 0; } if (l >= 6) vrma = (tempvalue.getJSONObject("vr").getDouble("sumVr") + vr) / 6; quoteData.getJSONArray("VR").getJSONArray(l - 1).put(0, qt); quoteData.getJSONArray("VR").getJSONArray(l - 1).put(1, vr); quoteData.getJSONArray("VR").getJSONArray(l - 1).put(2, vrma); } }
From source file:nl.spellenclubeindhoven.dominionshuffle.Application.java
public void loadResult() { try {/*w ww .j a v a 2s .c om*/ JSONObject jsonResult = new JSONObject(DataReader.readStringFromFile(this, "result.json")); JSONArray jsonCards = jsonResult.getJSONArray("cards"); LinkedList<Card> cards = new LinkedList<Card>(); for (int i = 0; i < jsonCards.length(); i++) { Card card = dataReader.getData().getCard(jsonCards.getString(i)); if (card == null) return; cards.add(card); } Card baneCard = null; Card obeliskCard = null; if (jsonResult.has("baneCard")) { baneCard = dataReader.getData().getCard(jsonResult.getString("baneCard")); } if (jsonResult.has("obeliskCard")) { obeliskCard = dataReader.getData().getCard(jsonResult.getString("obeliskCard")); } result = new Result(); result.setCards(cards); result.setBaneCard(baneCard); result.setObeliskCard(obeliskCard); } catch (JSONException ignore) { ignore.printStackTrace(); } }