List of usage examples for com.google.gson Gson fromJson
@SuppressWarnings("unchecked") public <T> T fromJson(JsonElement json, Type typeOfT) throws JsonSyntaxException
From source file:jsonSploit.java
/** * @param args the command line arguments *///from www .j a v a 2 s . c o m public static void main(String[] args) { // TODO code application logic here Gson gson = new Gson(); System.out.println("OBTENER SOLO UN ARRAY DE CADENA JSON"); String myURL = "http://192.168.5.44/app_dev.php/cus/getaccount/50241109321.json"; System.out.println("Requested URL:" + myURL); StringBuilder sb = new StringBuilder(); URLConnection urlConn = null; InputStreamReader in = null; try { URL url = new URL(myURL); urlConn = url.openConnection(); if (urlConn != null) { urlConn.setReadTimeout(60 * 1000); } if (urlConn != null && urlConn.getInputStream() != null) { in = new InputStreamReader(urlConn.getInputStream(), Charset.defaultCharset()); BufferedReader bufferedReader = new BufferedReader(in); if (bufferedReader != null) { int cp; while ((cp = bufferedReader.read()) != -1) { sb.append((char) cp); } bufferedReader.close(); } } in.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("Exception while calling URL:" + myURL, e); } String jsonResult = sb.toString(); System.out.println(sb.toString()); System.out.println("\n\n--------------------JSON OBJECT DISPLAY----------------------------\n\n"); // convertimos el string a json Object JSONObject jsonObj = new JSONObject(jsonResult); // System.out.println("LA CADENA JSON CONVERTIDA EN OBJETO ES>"); System.out.println(jsonObj.toString()); System.out .println("\n\n--------------------- OBTENER ARRAYS DEL OBJETO JSON---------------------------\n\n"); JSONArray jsonArray = new JSONArray(); jsonArray.put(jsonObj); gson = new Gson(); Iterator x = jsonObj.keys(); while (x.hasNext()) { String key = (String) x.next(); jsonArray.put(jsonObj.get(key)); System.out.println(key); } System.out .println("\n\n--------------------- OBTENER ARRAYS DEL OBJETO JSON---------------------------\n\n"); JsonParser jsonParser = new JsonParser(); JsonObject jo = (JsonObject) jsonParser.parse(jsonResult); JsonArray jsonArr = jo.getAsJsonArray("data"); Gson googleJson = new Gson(); ArrayList jsonObjList = googleJson.fromJson(jsonArr, ArrayList.class); System.out.println("Listas existentes en data : " + jsonObjList.size()); System.out.println("los elementos de la lista son : " + jsonObjList.toString()); String dataResult = jsonObjList.toString(); System.out.println("\n\n--------------------- EL OBJETO JSON ARRAY---------------------------\n\n"); /// jsonArr.remove(1); String elemento1 = null; Iterator<JsonElement> nombreIterator = jsonArr.iterator(); JsonElement elemento = null; while (nombreIterator.hasNext()) { elemento = nombreIterator.next(); System.out.print(elemento + " \n"); elemento1 = elemento.toString(); System.out.println("El elemento 1 es " + elemento1); } cData data = gson.fromJson(elemento1, cData.class); // Account account = gson.fromJson(jo, Account.class); if (data.getAccount().getFirst_name() == null) { System.out.println("Error"); } else { System.out.print(data.getAccount().getFirst_name()); } // System.out.println(data.acount.getNumber()); System.out.println("\n\n--------------------- OBTENEMOS EL OBJETO ACCOUNT---------------------------\n\n"); //JsonObject jObject = (JsonObject) jsonParser.parse(elemento1); // System.out.println(jObject.getAsJsonPrimitive("number")); }
From source file:ManagerQuery.java
License:Open Source License
private void checkMetricWidgetsRules(double lastMetricValue) { Parameters parameters;//w w w. j a va2s. co m Rule rule; Gson gson = new Gson(); boolean notifyEvents; //String min; //String max; String op; String thr1; String thr2; String desc; String widgetId; String widgetName; String widgetTitle; String dashboardId; String dashboardTitle; Properties conf2 = new Properties(); FileInputStream in = null; try { in = new FileInputStream("./config.properties"); conf2.load(in); in.close(); } catch (FileNotFoundException ex) { Logger.getLogger(ManagerQuery.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(ManagerQuery.class.getName()).log(Level.SEVERE, null, ex); } //Reperimento elenco delle regole dagli widget che mostrano la metrica in esame Connection conn; try { conn = DriverManager.getConnection(conf2.getProperty("url"), conf2.getProperty("user"), conf2.getProperty("psw")); Statement stm = conn.createStatement(); String getRulesQuery = "SELECT widgets.Id AS widgetId, widgets.name_w AS widgetName, widgets.title_w AS widgetTitle, widgets.id_dashboard AS dashboardId, widgets.parameters AS parameters, " + "dashboards.name_dashboard AS dashboardTitle " + "FROM Dashboard.Config_widget_dashboard AS widgets " + "INNER JOIN Dashboard.Config_dashboard AS dashboards " + "ON dashboards.Id = widgets.id_dashboard " + "WHERE widgets.type_w IN('widgetBarContent', 'widgetColunmContent', 'widgetGaugeChart', 'widgetSingleContent', 'widgetSpeedometer', 'widgetTimeTrend', 'widgetTimeTrendCompare') " + //Questo elenco temporaneo, verr ampliato via via che gestiamo pi widgets "AND widgets.parameters IS NOT NULL " + "AND widgets.parameters <> '{}'" + "AND widgets.id_metric = '" + this.idProc + "'"; ResultSet rs = stm.executeQuery(getRulesQuery); if (rs != null) { try { while (rs.next()) { parameters = gson.fromJson(rs.getString("parameters"), Parameters.class); if ((parameters == null) || (parameters.getThresholdObject() == null)) { System.out.println("Widget " + rs.getString("widgetId") + " has invalid parameters " + rs.getString("parameters")); this.notifyEvent("Invalid parameters", "Widget name: " + rs.getString("widgetName") + " - Widget id: " + rs.getString("widgetId")); continue; } for (SingleRule singleRule : parameters.getThresholdObject()) { rule = new Rule(singleRule.getNotifyEvents(), singleRule.getOp(), singleRule.getThr1(), singleRule.getThr2(), singleRule.getDesc(), String.valueOf(rs.getInt("widgetId")), rs.getString("widgetName"), rs.getString("widgetTitle"), this.idProc, String.valueOf(rs.getInt("dashboardId")), rs.getString("dashboardTitle")); notifyEvents = singleRule.getNotifyEvents(); //Ma sono usati questi valori? Sembra di no (forse erano nel println?), provare a rimuoverli (commenta) op = singleRule.getOp(); thr1 = singleRule.getThr1(); thr2 = singleRule.getThr2(); desc = singleRule.getDesc(); widgetId = String.valueOf(rs.getInt("widgetId")); widgetName = rs.getString("widgetName"); widgetTitle = rs.getString("widgetTitle"); dashboardId = String.valueOf(rs.getInt("dashboardId")); dashboardTitle = rs.getString("dashboardTitle"); //System.out.println("Thr1: " + rule.getThr1() + " - Thr2: " + rule.getThr2()); if (this.checkThrViolation(lastMetricValue, rule) && notifyEvents) { System.out.println("Notifica eseguita"); this.notifyEvent(lastMetricValue, rule); } else { System.out.println("Notifica NON eseguita"); } } } conn.close(); } catch (SQLException ex) { Logger.getLogger(ManagerQuery.class.getName()).log(Level.SEVERE, null, ex); } } } catch (SQLException ex) { Logger.getLogger(ManagerQuery.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:crearAlbaran.java
License:Open Source License
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from www. java2s . c o m*/ * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); try (PrintWriter out = response.getWriter()) { HttpSession ses = request.getSession(); GestoSAT gestor = (GestoSAT) ses.getAttribute("gestor"); int id = Integer.parseInt(request.getParameter("id")); String flag = request.getParameter("flag"); Entrada entrada; Presupuesto presupuesto; Gson gJson = new Gson(); Map empleados = (HashMap) gJson.fromJson(request.getParameter("trabajadores"), HashMap.class); // Parse JSON Map material = (HashMap) gJson.fromJson(request.getParameter("material"), HashMap.class); // Parse JSON if (flag.equals("E")) { entrada = (Entrada) gestor.getEntrada(id); // Crear presupost en default values id = gestor.crearPresupuesto(id, new Presupuesto(request.getParameter("concepto"), new Date(), true, "", 0, 0, "", "", "", entrada, request.getParameter("observaciones") + " | Documento auxiliar", empleados, material, gestor)); presupuesto = gestor.getPresupuesto(id); } else { presupuesto = (Presupuesto) gestor.getPresupuesto(id); entrada = presupuesto.getEntrada(); } Cliente cli = entrada.getCliente(); out.print(gestor.crearAlbaran(id, new Albaran(request.getParameter("concepto"), request.getParameter("entrega[provEntrega]"), request.getParameter("entrega[pobEntrega]"), Integer.parseInt(request.getParameter("entrega[cpEntrega]")), request.getParameter("entrega[calleEntrega]"), request.getParameter("entrega[numEntrega]"), request.getParameter("entrega[escaleraEntrega]"), Integer.parseInt(request.getParameter("entrega[pisoEntrega]")), request.getParameter("entrega[puertaEntrega]"), material, empleados, request.getParameter("observaciones"), presupuesto, cli, gestor))); } }
From source file:InventoryIncrementItemServlet.java
License:Open Source License
@Override public HttpResponse doWork(HttpRequest request, String rootDirectory) { HttpResponse response;/*from w w w. ja v a2s. com*/ try { String inventoryUrl = "./web/inventory.json"; File inventory = new File(inventoryUrl); StringBuilder sb = new StringBuilder(); Scanner sc = new Scanner(inventory); while (sc.hasNext()) { sb.append(sc.nextLine()); } sc.close(); // Add this new book to the list of existing books Gson gson = new Gson(); InventoryObject[] inventoryArray = gson.fromJson(sb.toString(), InventoryObject[].class); ArrayList<InventoryObject> inventoryList = new ArrayList<InventoryObject>( Arrays.asList(inventoryArray)); String body = new String(request.getBody()); System.out.println(body); String[] newItem = body.split("&"); // Find existing item and add passed quantity int id = Integer.parseInt(newItem[0].split("=")[1]); int quant = Integer.parseInt(newItem[1].split("=")[1]); for (InventoryObject item : inventoryList) { if (item.getID() == id) { if (item.getQuantity() == 0 && quant == -1) { return HttpResponseFactory.create400BadRequest(Protocol.CLOSE); } else { item.setQuantity(item.getQuantity() + quant); } } } // Serialize new list Gson gsonBuilder = new GsonBuilder().setPrettyPrinting().create(); String arrayListToJson = gsonBuilder.toJson(inventoryList); BufferedWriter bw = new BufferedWriter(new FileWriter(inventory)); bw.write(arrayListToJson); bw.close(); response = HttpResponseFactory.create200OK(inventory, Protocol.CLOSE); } catch (Exception e) { response = HttpResponseFactory.create404NotFound(Protocol.CLOSE); } return response; }
From source file:AuthServlet.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("application/json"); Gson gson = new Gson(); try {/* w ww . j av a 2 s . c om*/ //parsing json StringBuilder sb = new StringBuilder(); String s; while ((s = request.getReader().readLine()) != null) { sb.append(s); } Token token = (Token) gson.fromJson(sb.toString(), Token.class); Connection conn = null; //PreparedStatement preparedStatement = null; Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(DB_URL, USER, PASS); String sql = "SELECT userID, tokenexpired FROM account WHERE token=?"; PreparedStatement preparedStatement = conn.prepareStatement(sql); preparedStatement.setString(1, token.getAccessToken()); ResultSet rs = preparedStatement.executeQuery(); Status status = new Status(); if (rs.next()) { java.sql.Timestamp tokenexpired = rs.getTimestamp("tokenexpired"); java.util.Date now = new java.util.Date(); long nowms = now.getTime(); long expms = tokenexpired.getTime(); if (nowms < expms) { //token valid int userid = rs.getInt("userID"); status.setSuccess(true); status.setDescription("valid"); status.setUserID(userid); response.getOutputStream().print(gson.toJson(status)); response.getOutputStream().flush(); } else { status.setSuccess(false); status.setDescription("expired"); response.getOutputStream().print(gson.toJson(status)); response.getOutputStream().flush(); } } else { status.setSuccess(false); status.setDescription("invalid"); response.getOutputStream().print(gson.toJson(status)); response.getOutputStream().flush(); } rs.close(); } catch (Exception ex) { ex.printStackTrace(); } }
From source file:WSClient.java
public Response doRequest(String url, Map<String, String> params) throws IOException { Response result = null;//w w w .ja va2 s.c om //String url = "http://www.google.com/search?q=mkyong"; Set<String> keys = params.keySet(); String lsparams = ""; for (String key : keys) { if (lsparams.equals("")) { lsparams += "?" + params.get(key); } else { lsparams += "&" + params.get(key); } } System.out.println(" ### PAREMTROS " + lsparams); //StringBuilder _url = new StringBuilder(BASE_URL).append(url).append(params); StringBuilder _url = new StringBuilder(BASE_URL).append(url); System.out.println(" URL : " + _url.toString()); URL obj = new URL(_url.toString()); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // optional default is GET con.setRequestMethod("GET"); //add request header con.setRequestProperty("User-Agent", USER_AGENT); con.setConnectTimeout(5000); 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(); System.out.println(response.toString()); Gson gson = new Gson(); String _response = response.toString(); if (response != null) { result = gson.fromJson(_response, Response.class); } return result; }
From source file:WSClient.java
public Response doRequest(String path, Object object) throws IOException { Response response = null;//w w w.j a v a 2s.c o m try { URL url = new URL(BASE_URL + path); System.out.println("##### utl : " + BASE_URL + path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json"); //String input = "{\"qty\":100,\"name\":\"iPad 4\"}"; Gson gson = new Gson(); String input = gson.toJson(object); OutputStream os = conn.getOutputStream(); os.write(input.getBytes()); os.flush(); /*if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) { throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode()); }*/ BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream()))); StringBuilder content = new StringBuilder(""); String output; System.out.println("Output from Server .... \n"); while ((output = br.readLine()) != null) { System.out.println(output); content.append(output); } conn.disconnect(); System.out.println(" content :" + content.toString()); response = gson.fromJson(content.toString(), Response.class); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return response; }
From source file:InventoryAddNewItemServlet.java
License:Open Source License
@Override public HttpResponse doWork(HttpRequest request, String rootDirectory) { HttpResponse response;/*ww w . j a v a 2 s . c o m*/ try { String inventoryUrl = "./web/inventory.json"; File inventory = new File(inventoryUrl); StringBuilder sb = new StringBuilder(); Scanner sc = new Scanner(inventory); while (sc.hasNext()) { sb.append(sc.nextLine()); } sc.close(); // Add this new book to the list of existing books Gson gson = new Gson(); InventoryObject[] inventoryArray = gson.fromJson(sb.toString(), InventoryObject[].class); ArrayList<InventoryObject> inventoryList = new ArrayList<InventoryObject>( Arrays.asList(inventoryArray)); String body = new String(request.getBody()); System.out.println(body); String[] newItem = body.split("&"); // Add new item int id, quant; String name; try { id = Integer.parseInt(newItem[0].split("=")[1]); name = newItem[1].split("=")[1].replace("+", " "); quant = Integer.parseInt(newItem[2].split("=")[1]); } catch (Exception e) { return HttpResponseFactory.create400BadRequest(Protocol.CLOSE); } InventoryObject item = new InventoryObject(id, name, quant); if (quant < 0) { return HttpResponseFactory.create400BadRequest(Protocol.CLOSE); } for (InventoryObject existingItem : inventoryList) { if (existingItem.getID() == id) { return HttpResponseFactory.create400BadRequest(Protocol.CLOSE); } } inventoryList.add(item); // Serialize new list Gson gsonBuilder = new GsonBuilder().setPrettyPrinting().create(); String arrayListToJson = gsonBuilder.toJson(inventoryList); BufferedWriter bw = new BufferedWriter(new FileWriter(inventory)); bw.write(arrayListToJson); bw.close(); response = HttpResponseFactory.create200OK(inventory, Protocol.CLOSE); } catch (Exception e) { response = HttpResponseFactory.create404NotFound(Protocol.CLOSE); } return response; }
From source file:CompanyController.java
public static <T extends Object> T fromJson(String json, Class<T> classe) { Gson gson = new Gson(); gson.fromJson(json, classe); return gson.fromJson(json, classe); }
From source file:FindDist.java
private static int findNearest(int zipcode, ArrayList<Integer> allZipCodes) throws IOException { Gson gson = new Gson(); double min = Integer.MAX_VALUE; int nearestZipCode = allZipCodes.get(0); for (int availableZipcode : allZipCodes) { String distString = dist(zipcode, availableZipcode); Distance distObject = gson.fromJson(distString, Distance.class); if (min > Double.parseDouble(distObject.getDistance())) { min = Double.parseDouble(distObject.getDistance()); nearestZipCode = availableZipcode; }/*w w w . j a v a 2s . c o m*/ } return nearestZipCode; }