Example usage for org.json.simple.parser JSONParser JSONParser

List of usage examples for org.json.simple.parser JSONParser JSONParser

Introduction

In this page you can find the example usage for org.json.simple.parser JSONParser JSONParser.

Prototype

JSONParser

Source Link

Usage

From source file:com.nubits.nubot.pricefeeds.feedservices.ExchangeratelabPriceFeed.java

@Override
public LastPrice getLastPrice(CurrencyPair pair) {
    long now = System.currentTimeMillis();
    long diff = now - lastRequest;
    if (diff >= refreshMinTime) {
        String url = getUrl(pair);
        String htmlString;/*  ww  w . j  a va 2 s .  c om*/
        try {
            htmlString = Utils.getHTML(url, true);
        } catch (IOException ex) {
            LOG.error(ex.toString());
            return new LastPrice(true, name, pair.getOrderCurrency(), null);
        }
        JSONParser parser = new JSONParser();
        try {
            JSONObject httpAnswerJson = (JSONObject) (parser.parse(htmlString));
            JSONArray array = (JSONArray) httpAnswerJson.get("rates");

            String lookingfor = pair.getOrderCurrency().getCode().toUpperCase();

            boolean found = false;
            double rate = -1;
            for (int i = 0; i < array.size(); i++) {
                JSONObject temp = (JSONObject) array.get(i);
                String tempCurrency = (String) temp.get("to");
                if (tempCurrency.equalsIgnoreCase(lookingfor)) {
                    found = true;
                    rate = Utils.getDouble((Double) temp.get("rate"));
                    rate = Utils.round(1 / rate, 8);
                }
            }

            lastRequest = System.currentTimeMillis();

            if (found) {

                lastPrice = new LastPrice(false, name, pair.getOrderCurrency(),
                        new Amount(rate, pair.getPaymentCurrency()));
                return lastPrice;
            } else {
                LOG.warn("Cannot find currency " + lookingfor + " on feed " + name);
                return new LastPrice(true, name, pair.getOrderCurrency(), null);
            }

        } catch (Exception ex) {
            LOG.error(ex.toString());
            lastRequest = System.currentTimeMillis();
            return new LastPrice(true, name, pair.getOrderCurrency(), null);
        }
    } else {
        LOG.warn("Wait " + (refreshMinTime - (System.currentTimeMillis() - lastRequest)) + " ms "
                + "before making a new request. Now returning the last saved price\n\n");
        return lastPrice;
    }
}

From source file:assignment3.Populate.java

CreateUser() {
    try {/*from w ww . j a  va  2  s .  co  m*/

        Class.forName("oracle.jdbc.driver.OracleDriver");

    } catch (ClassNotFoundException e) {

        System.out.println("JDBC Driver Missing");
        e.printStackTrace();
        return;

    }

    System.out.println("Oracle JDBC Driver Connected");

    Connection conn = null;

    try {

        conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "MAYUR", "123456");
        conn.setAutoCommit(false);

        PreparedStatement ps = conn
                .prepareStatement("insert into yelp_user values (?, ?, ?,?, ?, ?,?, ?, ?,?,?)");

        JSONParser parser = new JSONParser();
        Object obj = parser.parse(new BufferedReader(new FileReader(
                "C:\\Users\\mayur\\Downloads\\YelpDataset\\YelpDataset-CptS451\\yelp_user.json")));

        //Object obj = parser.parse(new BufferedReader(new FileReader("C:\\Users\\mayur\\Downloads\\YelpDataset\\YelpDataset-CptS451\\yelp_user1.json")));

        JSONArray jsonArray = (JSONArray) (obj);

        // JSONArray jsonArray = (JSONArray)(obj1);
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject t = (JSONObject) jsonArray.get(i);

            String c = t.get("yelping_since").toString();

            Date yelping_since = (Date) java.sql.Date.valueOf(c + "-01");

            JSONObject votes = (JSONObject) t.get("votes"); // get all votes details
            Long votes_funny = (Long) votes.get("funny");
            Long votes_useful = (Long) votes.get("useful");
            Long votes_cool = (Long) votes.get("cool");

            Long review_count = (Long) t.get("review_count");
            String name = t.get("name").toString();
            String user_id = t.get("user_id").toString();

            JSONArray friends = (JSONArray) (t).get("friends");
            int numfriends = 0;
            if (friends != null) {
                Iterator<String> iterator = friends.iterator();
                ArrayList<String> friendid_list = new ArrayList<String>();

                while (iterator.hasNext()) {
                    friendid_list.add(iterator.next());
                }

                if (friendid_list != null)
                    numfriends = friendid_list.size();

                friendid_list = null;
                iterator = null;

            }
            Long fans = (Long) t.get("fans");
            double average_stars = (double) t.get("average_stars");
            String type = t.get("type").toString();

            ps.setDate(1, yelping_since);
            ps.setLong(2, votes_funny);
            ps.setLong(3, votes_useful);
            ps.setLong(4, votes_cool);
            ps.setLong(5, review_count);
            ps.setString(6, name);
            ps.setString(7, user_id);
            ps.setLong(8, fans);
            ps.setDouble(9, average_stars);
            ps.setString(10, type);
            ps.setInt(11, numfriends);

            ps.executeUpdate();
            System.out.println("Record inserted " + i);

        }

        conn.commit();

        ps.close();

    } catch (Exception e) {

        System.out.println("Connection Failed! Check output console");
        e.printStackTrace();
        return;

    }

}

From source file:com.conwet.silbops.msg.UnsubscribeMsgTest.java

@Test
public void shouldSerializeAndDeserialize() throws ParseException {

    UnsubscribeMsg msg = new UnsubscribeMsg();
    Subscription uncovered = new Subscription().constrain("attr2", Type.STRING).eq("hello")
            .constrain("attr3", Type.DOUBLE).gt(11.0D).subscription();
    msg.setSubscription(//  w  ww .ja va 2s . co  m
            new Subscription().constrain("attr1", Type.STRING).exists().constrain("attr2", Type.STRING)
                    .eq("hello").constrain("attr3", Type.DOUBLE).gt(10.3D).subscription());

    Set<Subscription> uncovSet = new HashSet<>();
    uncovSet.add(uncovered);
    msg.setUncovered(uncovSet);

    String jsonStr = msg.toJSONString();
    JSONObject json = (JSONObject) new JSONParser().parse(jsonStr);
    UnsubscribeMsg newMsg = (UnsubscribeMsg) UnsubscribeMsg.fromJSON(json);
    assertThat(newMsg).isEqualTo(msg);
    assertThat(newMsg.getUncovered()).isEqualTo(uncovSet);
}

From source file:com.shootoff.session.io.JSONSessionReader.java

public Map<String, List<Event>> load() {
    Map<String, List<Event>> events = new HashMap<String, List<Event>>();

    try {//from ww  w  .j a v a 2  s. c om
        JSONObject session = (JSONObject) new JSONParser()
                .parse(new InputStreamReader(new FileInputStream(sessionFile), "UTF-8"));

        JSONArray cameras = (JSONArray) session.get("cameras");
        @SuppressWarnings("unchecked")
        Iterator<JSONObject> itCameras = cameras.iterator();

        while (itCameras.hasNext()) {
            JSONObject camera = itCameras.next();

            String cameraName = (String) camera.get("name");
            events.put(cameraName, new ArrayList<Event>());

            JSONArray cameraEvents = (JSONArray) camera.get("events");
            @SuppressWarnings("unchecked")
            Iterator<JSONObject> itEvents = cameraEvents.iterator();

            while (itEvents.hasNext()) {
                JSONObject event = itEvents.next();

                String eventType = (String) event.get("type");

                switch (eventType) {
                case "shot":
                    Color c;

                    if (event.get("color").equals("0xff0000ff")) {
                        c = Color.RED;
                    } else {
                        c = Color.GREEN;
                    }

                    Shot shot = new Shot(c, (double) event.get("x"), (double) event.get("y"),
                            (Long) event.get("shotTimestamp"), ((Long) event.get("markerRadius")).intValue());

                    boolean isMalfunction = (boolean) event.get("isMalfunction");

                    boolean isReload = (boolean) event.get("isReload");

                    Optional<Integer> targetIndex;
                    int index = ((Long) event.get("targetIndex")).intValue();
                    if (index == -1) {
                        targetIndex = Optional.empty();
                    } else {
                        targetIndex = Optional.of(index);
                    }

                    Optional<Integer> hitRegionIndex;
                    index = ((Long) event.get("hitRegionIndex")).intValue();
                    if (index == -1) {
                        hitRegionIndex = Optional.empty();
                    } else {
                        hitRegionIndex = Optional.of(index);
                    }

                    Optional<String> videoString = Optional.ofNullable((String) event.get("videos"));

                    events.get(cameraName).add(new ShotEvent(cameraName, (Long) event.get("timestamp"), shot,
                            isMalfunction, isReload, targetIndex, hitRegionIndex, videoString));
                    break;

                case "targetAdded":
                    events.get(cameraName).add(new TargetAddedEvent(cameraName, (Long) event.get("timestamp"),
                            (String) event.get("name")));
                    break;

                case "targetRemoved":
                    events.get(cameraName).add(new TargetRemovedEvent(cameraName, (Long) event.get("timestamp"),
                            ((Long) event.get("index")).intValue()));
                    break;

                case "targetResized":
                    events.get(cameraName)
                            .add(new TargetResizedEvent(cameraName, (Long) event.get("timestamp"),
                                    ((Long) event.get("index")).intValue(), (Double) event.get("newWidth"),
                                    (Double) event.get("newHeight")));
                    break;

                case "targetMoved":
                    events.get(cameraName).add(new TargetMovedEvent(cameraName, (Long) event.get("timestamp"),
                            ((Long) event.get("index")).intValue(), ((Long) event.get("newX")).intValue(),
                            ((Long) event.get("newY")).intValue()));
                    break;

                case "exerciseFeedMessage":
                    events.get(cameraName).add(new ExerciseFeedMessageEvent(cameraName,
                            (Long) event.get("timestamp"), (String) event.get("message")));
                    break;
                }
            }
        }

    } catch (IOException | ParseException e) {
        logger.error("Error reading JSON session", e);
    }

    return events;
}

From source file:com.stackmob.example.CRUD.UpdateObject.java

@Override
public ResponseToProcess execute(ProcessedAPIRequest request, SDKServiceProvider serviceProvider) {
    String carID = "";
    String year = "";

    LoggerService logger = serviceProvider.getLoggerService(UpdateObject.class);
    logger.debug(request.getBody());/*from   w w w  .  j  a va2  s . com*/
    Map<String, String> errMap = new HashMap<String, String>();

    /* The following try/catch block shows how to properly fetch parameters for PUT/POST operations
     * from the JSON request body
     */
    JSONParser parser = new JSONParser();
    try {
        Object obj = parser.parse(request.getBody());
        JSONObject jsonObject = (JSONObject) obj;

        // Fetch the values passed in by the user from the body of JSON
        carID = (String) jsonObject.get("car_ID");
        year = (String) jsonObject.get("year");

    } catch (ParseException pe) {
        logger.error(pe.getMessage(), pe);
        return Util.badRequestResponse(errMap, pe.getMessage());
    }

    if (Util.hasNulls(year, carID)) {
        return Util.badRequestResponse(errMap);
    }

    Map<String, SMValue> feedback = new HashMap<String, SMValue>();
    feedback.put("updated year", new SMInt(Long.parseLong(year)));

    DataService ds = serviceProvider.getDataService();
    List<SMUpdate> update = new ArrayList<SMUpdate>();

    /* Create the changes in the form of an Update that you'd like to apply to the object
     * In this case I want to make changes to year by overriding existing values with user input
     */
    update.add(new SMSet("year", new SMInt(Long.parseLong(year))));

    SMObject result;
    try {
        // Remember that the primary key in this car schema is `car_id`
        result = ds.updateObject("car", new SMString(carID), update);
        feedback.put("updated object", result);

    } catch (InvalidSchemaException ise) {
        return Util.internalErrorResponse("invalid_schema", ise, errMap); // http 500 - internal server error
    } catch (DatastoreException dse) {
        return Util.internalErrorResponse("datastore_exception", dse, errMap); // http 500 - internal server error
    }

    return new ResponseToProcess(HttpURLConnection.HTTP_OK, feedback);
}

From source file:classes.Filme.java

public void web() throws Exception {

    URL obj = new URL(this.getUrl());
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();

    // optional default is GET
    con.setRequestMethod("GET");

    //add request header
    con.setRequestProperty("User-Agent", USER_AGENT);

    BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
    String inputLine;/*  w w  w.j a v  a 2s .  co m*/
    StringBuffer response = new StringBuffer();

    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    String resposta = response.toString();
    JSONObject json = (JSONObject) new JSONParser().parse(resposta);
    //print result

    this.setSinopse(json.get("Plot").toString());
    this.setPoster(json.get("Poster").toString());

}

From source file:com.nmi.uk.librarycl.JsnParser.java

/**
 * Method to construct the json object and json array form the source file.
 * The extracted elements are stored to `LibraryRecord.java` objects.<br> 
 * Duplicate `LibraryRecord` removed before adding to the array using hash of content.
 *//*from  w ww  . j a  v a  2 s .  com*/
public void parseJson() {

    try {
        JSONParser parser = new JSONParser();
        jsonReader = new BufferedReader(
                new InputStreamReader(getClass().getResourceAsStream("/resources/bangor-library.json")));
        JSONObject jsonObj = (JSONObject) parser.parse(jsonReader);

        String name = (String) jsonObj.get("name");
        libraryName = name;
        JSONArray extractedBooks = (JSONArray) jsonObj.get("books");

        Iterator i = extractedBooks.iterator();
        while (i.hasNext()) {
            rec = new LibraryRecord();
            rec.setLib_name(libraryName);
            JSONObject innerObj = (JSONObject) i.next();
            rec.setBook_name(innerObj.get("name").toString());
            rec.setAuth_name(innerObj.get("author").toString());
            rec.setCat_name(innerObj.get("category").toString());

            if (!LibraryAccess.bookShelves.isEmpty()) {
                for (LibraryRecord bookSaved : LibraryAccess.bookShelves) {
                    if (this.rec.getHashOfContent() == bookSaved.getHashOfContent()) {
                        duplicate = true;
                        rec = null;
                    }
                }
                if (!duplicate) {
                    LibraryAccess.addRecord(rec);
                }
                duplicate = false;

            } else {
                System.out.println("Library empty : Adding records...");
                LibraryAccess.addRecord(this.rec);
            }
        }

    } catch (FileNotFoundException ex) {
        Logger.getLogger(JsnParser.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(JsnParser.class.getName()).log(Level.SEVERE, null, ex);
    } catch (ParseException ex) {
        Logger.getLogger(JsnParser.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:eumetsat.pn.solr.SolrFeeder.java

@Override
protected void indexDirContent(Path aSrcDir) {
    log.info("Indexing dir content {}", aSrcDir);

    JSONParser parser = new JSONParser();

    YamlNode endpointConfig = this.config.get("endpoint");
    String collection = endpointConfig.get("collection").asTextValue();

    SolrServer solr;//from  w w  w.  j  av  a 2 s  . c  o  m
    if (this.server != null) {
        solr = server;
        log.info("Using embedded SolrServer: {}", solr);
    } else {
        log.info("Endpoint configuration: {}", endpointConfig);

        String solrEndpoint = endpointConfig.get("url").asTextValue();
        solr = new ConcurrentUpdateSolrServer(solrEndpoint + "/" + collection, 10, 1);
        //        CloudSolrServer solr = new CloudSolrServer(solrEndpoint);
        //        solr.setDefaultCollection(collection);
        log.info("Using HTTP SolrServer: {}", solr);
    }

    SolrPingResponse ping;
    try {
        ping = solr.ping();
        log.debug("Pinged Solr server: {}", ping);
    } catch (SolrServerException | IOException | RemoteSolrException e) {
        log.error("Could not ping Solr server", e);
    }

    //        Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", endpointConfig.get("cluster.name").asTextValue()).build();
    int cpt = 0;
    Collection<File> inputFiles = FileUtils.listFiles(aSrcDir.toFile(), new String[] { "json" }, false);
    log.info("Indexing {} files...", inputFiles.size());

    for (File file : inputFiles) {
        try {
            String jsonStr = FileUtils.readFileToString(file);
            JSONObject jsObj = (JSONObject) parser.parse(jsonStr);

            try {
                SolrInputDocument input = createInputDoc(jsObj);

                log.debug("Adding {} to collection {}", file.getName(), collection);
                log.trace("Full json of {}: {}", file.getName(), input);
                solr.add(input);

                cpt++;
            } catch (RuntimeException e) {
                log.error("Error processing input document {}: {}, {}", file, e, e.getMessage());
            }

            if (cpt % 42 == 0) { // periodically flush
                log.info("Commiting to server, document count is {}", cpt);
                UpdateResponse response = solr.commit();
                log.info("Response status: {} (time: {}): {}", response.getStatus(), response.getElapsedTime(),
                        response.toString());
            }

        } catch (IOException | ParseException | SolrServerException e) {
            log.error("Error comitting document based on file {}", file, e);
        }
    }

    try {
        solr.commit();
    } catch (IOException | SolrServerException e) {
        log.error("Error comitting document", e);
    }

    solr.shutdown();

    log.info("Indexed {} of {} files.", cpt, inputFiles.size());
}

From source file:it.avalz.opendaylight.controller.Network.java

/**
 * Parses the output string from the /controller/nb/v2/topology/default API
 * from the//from w  w w . j a v a 2  s.c  o m
 * OpenDaylight controller and adds the resulting edges to this Network nodes.
 * NOTE: run this after adding the vertexes, or it may result in crashes.
 *
 * @param edgesString
 *
 * @see addNodesFromJSON(String nodesString)
 */
public void addEdgesFromJSON(String edgesString) {
    JSONObject edgesJson = null;
    try {
        edgesJson = (JSONObject) new JSONParser().parse(edgesString);
    } catch (ParseException ex) {
        ex.printStackTrace();
    }

    JSONArray edges = (JSONArray) edgesJson.get("edgeProperties");

    for (Object o : edges) {
        Object edge = ((JSONObject) o).get("edge");

        Object to = ((JSONObject) edge).get("headNodeConnector");
        Object toNode = ((JSONObject) to).get("node");
        Object toPortRaw = ((JSONObject) to).get("id");
        String toNodeId = (String) ((JSONObject) toNode).get("id");

        Object from = ((JSONObject) edge).get("tailNodeConnector");
        Object fromNode = ((JSONObject) from).get("node");
        Object fromPortRaw = ((JSONObject) from).get("id");
        String fromNodeId = (String) ((JSONObject) fromNode).get("id");

        Object properties = ((JSONObject) o).get("properties");
        Object bandwidth = ((JSONObject) properties).get("bandwidth");
        Object bandwidthValue = ((JSONObject) bandwidth).get("value");

        double weight = 1.0 / (long) bandwidthValue;

        Edge e = new Edge(this.getVertex(toNodeId), weight);
        int fromPort = Integer.parseInt((String) fromPortRaw);
        int toPort = Integer.parseInt((String) toPortRaw);
        this.getVertex(fromNodeId).addEdge(e, fromPort, toPort);
    }
}

From source file:kr.co.bitnine.octopus.testutils.MemoryDatabase.java

public void importJSON(Class<?> clazz, String resourceName) throws Exception {
    Connection conn = getConnection();
    conn.setAutoCommit(false);/*from  w  w w  . j a va 2s.  c o m*/
    Statement stmt = conn.createStatement();

    JSONParser jsonParser = new JSONParser();
    JSONArray tables = (JSONArray) jsonParser
            .parse(new InputStreamReader(clazz.getResourceAsStream(resourceName)));
    for (Object tableObj : tables) {
        StringBuilder queryBuilder = new StringBuilder();

        JSONObject table = (JSONObject) tableObj;

        String tableName = jsonValueToSqlIdent(table.get("table-name"));
        queryBuilder.append("CREATE TABLE ").append(tableName).append('(');
        JSONArray schema = (JSONArray) table.get("table-schema");
        for (Object columnNameObj : schema) {
            String columnName = jsonValueToSqlValue(columnNameObj);
            queryBuilder.append(columnName).append(',');
        }
        queryBuilder.setCharAt(queryBuilder.length() - 1, ')');
        stmt.execute(queryBuilder.toString());

        JSONArray rows = (JSONArray) table.get("table-rows");
        for (Object rowObj : rows) {
            JSONArray row = (JSONArray) rowObj;

            queryBuilder.setLength(0);
            queryBuilder.append("INSERT INTO ").append(tableName).append(" VALUES(");
            for (Object columnObj : row)
                queryBuilder.append(jsonValueToSqlValue(columnObj)).append(',');
            queryBuilder.setCharAt(queryBuilder.length() - 1, ')');
            stmt.executeUpdate(queryBuilder.toString());
        }
    }

    stmt.close();
    conn.commit();
    conn.close();
}