Example usage for org.json JSONObject JSONObject

List of usage examples for org.json JSONObject JSONObject

Introduction

In this page you can find the example usage for org.json JSONObject JSONObject.

Prototype

public JSONObject(String source) throws JSONException 

Source Link

Document

Construct a JSONObject from a source JSON text string.

Usage

From source file:net.mandaria.radioreddit.apis.RadioRedditAPI.java

public static List<RadioSong> GetTopChartsByType(Context context, RadioRedditApplication application,
        String type) {//from   w w w  .  j a  va 2 s  .  c om
    List<RadioSong> radiosongs = new ArrayList<RadioSong>();

    try {
        String chart_url = "";

        if (type.equals("all"))
            chart_url = context.getString(R.string.radio_reddit_charts_all);
        else if (type.equals("month"))
            chart_url = context.getString(R.string.radio_reddit_charts_month);
        else if (type.equals("week"))
            chart_url = context.getString(R.string.radio_reddit_charts_week);
        else if (type.equals("day"))
            chart_url = context.getString(R.string.radio_reddit_charts_day);

        // TODO: might could merge this code with GetCurrentSongInformation

        String outputStatus = "";
        boolean errorGettingStatus = false;

        try {
            outputStatus = HTTPUtil.get(context, chart_url);
        } catch (Exception ex) {
            ex.printStackTrace();
            errorGettingStatus = true;
            // For now, not used. It is acceptable to error out and not alert the user
            // radiosong.ErrorMessage = context.getString(R.string.error_RadioRedditServerIsDownNotification);
        }

        if (!errorGettingStatus && outputStatus.length() > 0) {
            JSONTokener status_tokener = new JSONTokener(outputStatus);
            JSONObject status_json = new JSONObject(status_tokener);

            JSONObject songs = status_json.getJSONObject("songs");
            JSONArray songs_array = songs.getJSONArray("song");

            // get the first song in the array
            for (int i = 0; i < songs_array.length(); i++) {
                RadioSong radiosong = new RadioSong();
                radiosong.ErrorMessage = "";

                JSONObject song = songs_array.getJSONObject(i);
                //radiosong.ID = song.getInt("id");
                radiosong.Title = song.getString("title");
                radiosong.Artist = song.getString("artist");
                radiosong.Redditor = song.getString("redditor");
                radiosong.Genre = song.getString("genre");
                //radiosong.CumulativeScore = song.getString("score");

                //if(radiosong.CumulativeScore.equals("{}"))
                //   radiosong.CumulativeScore = null;   

                radiosong.Reddit_title = song.getString("reddit_title");
                radiosong.Reddit_url = song.getString("reddit_url");
                if (song.has("preview_url"))
                    radiosong.Preview_url = song.getString("preview_url");
                if (song.has("download_url"))
                    radiosong.Download_url = song.getString("download_url");
                if (song.has("bandcamp_link"))
                    radiosong.Bandcamp_link = song.getString("bandcamp_link");
                if (song.has("bandcamp_art"))
                    radiosong.Bandcamp_art = song.getString("bandcamp_art");
                if (song.has("itunes_link"))
                    radiosong.Itunes_link = song.getString("itunes_link");
                if (song.has("itunes_art"))
                    radiosong.Itunes_art = song.getString("itunes_art");
                if (song.has("itunes_price"))
                    radiosong.Itunes_price = song.getString("itunes_price");

                radiosongs.add(radiosong);
            }
        }
    } catch (Exception ex) {
        // We fail to get the current song information...
        CustomExceptionHandler ceh = new CustomExceptionHandler(context);
        ceh.sendEmail(ex);

        ex.printStackTrace();
        // TODO: return error message?? Might need to wrap List<RadioSong> in an object that has an ErrorMessage data member
        //radiosong.ErrorMessage = ex.toString();
        //return radiosong;
    }
    return radiosongs;
}

From source file:net.mandaria.radioreddit.apis.RadioRedditAPI.java

public static RadioSong GetSongVoteScore(Context context, RadioRedditApplication application,
        RadioSong radiosong) {//from   w  w  w .ja v  a2 s.com
    try {
        // get vote score 
        String reddit_info_url = context.getString(R.string.reddit_link_by)
                + URLEncoder.encode(radiosong.Reddit_url);

        String outputRedditInfo = "";
        boolean errorGettingRedditInfo = false;

        try {
            outputRedditInfo = HTTPUtil.get(context, reddit_info_url);
        } catch (Exception ex) {
            ex.printStackTrace();
            errorGettingRedditInfo = true;
            // For now, not used. It is acceptable to error out and not alert the user
            // radiosong.ErrorMessage = "Unable to connect to reddit";//context.getString(R.string.error_RadioRedditServerIsDownNotification);
        }

        if (!errorGettingRedditInfo && outputRedditInfo.length() > 0) {
            // Log.e("radio_reddit_test", "Length: " + outputRedditInfo.length());
            // Log.e("radio_reddit_test", "Value: " + outputRedditInfo); // TODO: sometimes the value contains "error: 404", need to check for that. (We can probably safely ignore this for now)
            JSONTokener reddit_info_tokener = new JSONTokener(outputRedditInfo);
            JSONObject reddit_info_json = new JSONObject(reddit_info_tokener);

            JSONObject data = reddit_info_json.getJSONObject("data");

            // default value of score
            String score = context.getString(R.string.vote_to_submit_song);
            String likes = "null";
            String name = "";

            JSONArray children_array = data.getJSONArray("children");

            // Song hasn't been submitted yet
            if (children_array.length() > 0) {
                JSONObject children = children_array.getJSONObject(0);

                JSONObject children_data = children.getJSONObject("data");
                score = children_data.getString("score");

                likes = children_data.getString("likes");
                name = children_data.getString("name");
            }

            radiosong.Score = score;
            radiosong.Likes = likes;
            radiosong.Name = name;
        } else {
            radiosong.Score = "?";
            radiosong.Likes = "null";
            radiosong.Name = "";
        }
    } catch (Exception ex) {
        // We fail to get the vote information...
        CustomExceptionHandler ceh = new CustomExceptionHandler(context);
        ceh.sendEmail(ex);

        ex.printStackTrace();
        // return error message??
        radiosong.ErrorMessage = context.getString(R.string.error_GettingVoteInformation);
        //return radiosong;
    }

    return radiosong;
}

From source file:net.mandaria.radioreddit.apis.RadioRedditAPI.java

public static RadioEpisode GetEpisodeVoteScore(Context context, RadioRedditApplication application,
        RadioEpisode radioepisode) {//from   ww  w  . j  a  va2s . co  m
    try {
        // get vote score 
        String reddit_info_url = context.getString(R.string.reddit_link_by)
                + URLEncoder.encode(radioepisode.Reddit_url);

        String outputRedditInfo = "";
        boolean errorGettingRedditInfo = false;

        try {
            outputRedditInfo = HTTPUtil.get(context, reddit_info_url);
        } catch (Exception ex) {
            ex.printStackTrace();
            errorGettingRedditInfo = true;
            // For now, not used. It is acceptable to error out and not alert the user
            // radiosong.ErrorMessage = "Unable to connect to reddit";//context.getString(R.string.error_RadioRedditServerIsDownNotification);
        }

        if (!errorGettingRedditInfo && outputRedditInfo.length() > 0) {
            // Log.e("radio_reddit_test", "Length: " + outputRedditInfo.length());
            // Log.e("radio_reddit_test", "Value: " + outputRedditInfo); // TODO: sometimes the value contains "error: 404", need to check for that. (We can probably safely ignore this for now)
            JSONTokener reddit_info_tokener = new JSONTokener(outputRedditInfo);
            JSONObject reddit_info_json = new JSONObject(reddit_info_tokener);

            JSONObject data = reddit_info_json.getJSONObject("data");

            // default value of score
            String score = context.getString(R.string.vote_to_submit_song);
            String likes = "null";
            String name = "";

            JSONArray children_array = data.getJSONArray("children");

            // Song hasn't been submitted yet
            if (children_array.length() > 0) {
                JSONObject children = children_array.getJSONObject(0);

                JSONObject children_data = children.getJSONObject("data");
                score = children_data.getString("score");

                likes = children_data.getString("likes");
                name = children_data.getString("name");
            }

            radioepisode.Score = score;
            radioepisode.Likes = likes;
            radioepisode.Name = name;
        } else {
            radioepisode.Score = "?";
            radioepisode.Likes = "null";
            radioepisode.Name = "";
        }
    } catch (Exception ex) {
        // We fail to get the vote information...
        CustomExceptionHandler ceh = new CustomExceptionHandler(context);
        ceh.sendEmail(ex);

        ex.printStackTrace();
        // return error message??
        radioepisode.ErrorMessage = context.getString(R.string.error_GettingVoteInformation);
        //return radiosong;
    }

    return radioepisode;
}

From source file:cn.edu.hfut.dmic.webcollector.example.DemoPostCrawler.java

@Override
public void visit(Page page, CrawlDatums next) {
    String jsonStr = page.html();
    JSONObject json = new JSONObject(jsonStr);
    System.out.println("JSON?" + json);
}

From source file:com.fortydegree.ra.data.JsonUnmarshaller.java

public static Marker processGeoserviceJSONObject(JSONObject jo) throws JSONException {
    String type = jo.getString("type");
    String metadata = jo.getString("metadata");
    JSONObject jsonMetadata = new JSONObject(metadata);
    String title = jsonMetadata.optString("title");

    Marker m = new Marker(jo.getDouble("latitude"), jo.getDouble("longitude"), jo.getDouble("altitude"));
    m.title = title;/*from ww  w  .j a  va  2  s .  co m*/
    m.distance = jo.getDouble("distance");

    @SuppressWarnings("rawtypes")
    Iterator metadataIter = jsonMetadata.keys();
    while (metadataIter.hasNext()) {
        String key = metadataIter.next().toString();
        m.setData(key, jsonMetadata.getString(key));
    }
    m.setData("title", title);
    m.setData("type", type);

    return m;
}

From source file:ch.lom.clemens.android.bibliography.data.JSONWebConnector.java

public String[] getCollectionDocIDs(MCollection col, int page) {
    if (!isConnected()) {
        StartActivity.singleton.doAuthentication(StartActivity.MENDELEY_RETRIEVE_COLLECTION);
        return null;
    }/*  w ww .ja  va2 s  .  com*/

    String[] ids = null;
    try {
        String strResponse;
        if (col.m_coltype == MCollection.AUTHORED) {
            strResponse = connect("http://www.mendeley.com/oapi/library/documents/authored/?page=" + page
                    + "&consumer_key=" + m_consumerkey);
        } else if (col.m_coltype == MCollection.LIBRARY) {
            strResponse = connect(
                    "http://www.mendeley.com/oapi/library/?page=" + page + "&consumer_key=" + m_consumerkey);
        } else {
            strResponse = connect("http://www.mendeley.com/oapi/library/collections/" + col.id + "/?page="
                    + page + "&consumer_key=" + m_consumerkey);
        }

        Log.i("MendeleyComm", "Collection: " + col.id + "\n" + strResponse);

        JSONObject colData = new JSONObject(strResponse);

        JSONArray documents = colData.getJSONArray("document_ids");
        ids = new String[documents.length()];
        for (int i = 0; i < documents.length(); i++) {
            ids[i] = documents.getString(i);
        }

        // make sure we get all pages
        int totalpages = colData.getInt("total_pages");
        if (page + 1 < totalpages) {
            String[] adddocs = getCollectionDocIDs(col, page + 1);

            String[] alldocs = new String[ids.length + adddocs.length];
            for (int i = 0; i < ids.length; i++)
                alldocs[i] = ids[i];
            for (int i = 0; i < adddocs.length; i++)
                alldocs[ids.length + i] = adddocs[i];
            ids = alldocs;
        }

    } catch (Exception e) {
        Log.e("MendeleyConnector", "Got a " + e.getClass().getName() + ": " + e.getMessage());
    }

    return ids;
}

From source file:ch.lom.clemens.android.bibliography.data.JSONWebConnector.java

public String[] getGroupDocuments(MGroup group, int page) {
    if (!isConnected()) {
        StartActivity.singleton.doAuthentication(StartActivity.MENDELEY_RETRIEVE_COLLECTION);
        return null;
    }/*  ww  w . j ava2 s  .  com*/

    String[] ids = null;
    try {
        String strResponse = connect("http://www.mendeley.com/oapi/library/groups/" + group.id + "/?page="
                + page + "&consumer_key=" + m_consumerkey);

        Log.i("MendeleyComm", "Collection: " + group.id + "\n" + strResponse);

        JSONObject colData = new JSONObject(strResponse);

        JSONArray documents = colData.getJSONArray("document_ids");
        ids = new String[documents.length()];
        for (int i = 0; i < documents.length(); i++) {
            ids[i] = documents.getString(i);
        }

        // make sure we get all pages
        int totalpages = colData.getInt("total_pages");
        if (page + 1 < totalpages) {
            String[] adddocs = getGroupDocuments(group, page + 1);

            String[] alldocs = new String[ids.length + adddocs.length];
            for (int i = 0; i < ids.length; i++)
                alldocs[i] = ids[i];
            for (int i = 0; i < adddocs.length; i++)
                alldocs[ids.length + i] = adddocs[i];
            ids = alldocs;
        }

    } catch (Exception e) {
        Log.e("MendeleyConnector", "Got a " + e.getClass().getName() + ": " + e.getMessage());
    }

    return ids;
}

From source file:ch.lom.clemens.android.bibliography.data.JSONWebConnector.java

private MDocument parseDocumentResult(MDocument mdoc, String strResponse) throws JSONException {

    JSONObject doc = new JSONObject(strResponse);

    try {/* www.  java 2  s  . co m*/
        mdoc.title = doc.getString("title");
    } catch (JSONException e) {
        Log.w("WebConnector", "Parsing error while getting document title");
    }
    try {
        mdoc.year = doc.getString("year");
    } catch (JSONException e) {
        Log.w("WebConnector", "Parsing error while getting document year");
    }
    try {
        mdoc.notes = doc.getString("notes");
    } catch (JSONException e) {
        Log.w("WebConnector", "Parsing error while getting document notes");
    }
    try {
        mdoc.type = doc.getString("type");
    } catch (JSONException e) {
        Log.w("WebConnector", "Parsing error while getting document type");
    }
    try {
        mdoc.urls = new String[] { doc.getString("url") };
    } catch (JSONException e) {
        Log.w("WebConnector", "Parsing error while getting document url");
    }
    try {
        mdoc.pages = doc.getString("pages");
    } catch (JSONException e) {
        Log.w("WebConnector", "Parsing error while getting document pages");
    }
    try {
        mdoc.docabstract = doc.getString("abstract");
    } catch (JSONException e) {
        Log.w("WebConnector", "Parsing error while getting document abstract");
    }

    try {
        JSONArray authors = doc.getJSONArray("authors");
        String[] strAuthors = new String[authors.length()];
        for (int j = 0; j < authors.length(); j++) {
            strAuthors[j] = authors.getString(j);
        }
        mdoc.authors = strAuthors;
    } catch (JSONException e) {
        Log.w("WebConnector", "Parsing error while getting document authors");
    }

    try {

        JSONArray tags = doc.getJSONArray("tags");
        String[] mtags = new String[tags.length()];
        for (int j = 0; j < tags.length(); j++) {
            mtags[j] = tags.getString(j);
        }
        mdoc.tags = mtags;
    } catch (JSONException e) {
        Log.w("WebConnector", "Parsing error while getting document tags");
    }

    try {
        JSONObject ids = doc.getJSONObject("identifiers");
        mdoc.identifiers = new HashMap<String, String>();
        JSONArray names = ids.names();
        for (int j = 0; j < names.length(); j++) {
            mdoc.identifiers.put(names.getString(j), ids.getString(names.getString(j)));
        }
    } catch (JSONException e) {
        Log.w("WebConnector", "Parsing error while getting document identifiers");
    }

    try {
        JSONObject ids = doc.getJSONObject("discipline");
        mdoc.discipline = new HashMap<String, String>();
        JSONArray names = ids.names();
        for (int j = 0; j < names.length(); j++) {
            mdoc.discipline.put(names.getString(j), ids.getString(names.getString(j)));
        }
    } catch (JSONException e) {
        Log.w("WebConnector", "Parsing error while getting document disciplines");
    }

    return mdoc;
}

From source file:com.example.android.camera2basic.RecognizeText.java

@Override
protected String doInBackground(Object... paths) {
    System.out.println("Performing Visual Recognition...");

    // params comes from the execute() call: params[0] is the url.
    com.ibm.watson.developer_cloud.visual_recognition.v3.VisualRecognition service = new com.ibm.watson.developer_cloud.visual_recognition.v3.VisualRecognition(
            com.ibm.watson.developer_cloud.visual_recognition.v3.VisualRecognition.VERSION_DATE_2016_05_20);
    service.setApiKey("26a259b7f5dc0f5c8c1cc933d8722b0e66aed5df");
    File actualImageFile = new File((String) paths[0]);
    // Library link : https://github.com/zetbaitsu/Compressor
    Bitmap compressedBitmap = Compressor.getDefault(mContext).compressToBitmap(actualImageFile);
    DirectoryPath = (String) paths[1];
    File compressedImage = bitmapToFile(compressedBitmap);
    System.out.println("The size of image for RecognizeText (in kB) : " + (compressedImage.length() / 1024));
    // TODO Image size may be still greater than 1 MB !
    VisualRecognitionOptions options = new VisualRecognitionOptions.Builder().images(compressedImage).build();

    RecognizedText result = service.recognizeText(options).execute();

    System.out.println("OnPostExecute...");
    System.out.println(result);/*from   w  w w .j  av  a2  s  . c  o  m*/
    try {

        JSONObject obj = new JSONObject(result.toString());
        JSONObject resultarray1 = obj.getJSONArray("images").getJSONObject(0);
        text = resultarray1.getString("text");
        System.out.println("Recognize Text : " + text);
        //new TextToSpeechTask().execute(classes,DirectoryPath);
    } catch (JSONException e) {
        System.out.println("Nothing Detected In Text ");
    }

    countDownLatch.countDown();
    System.out.println("Latch counted down in Recongize Text");

    return result.toString();
}

From source file:org.loklak.api.iot.NetmonPushServlet.java

private static JSONObject convertDOMNodeToMap(Node node) {
    Node directChild = node.getFirstChild();
    if (directChild == null) {
        return null;
    }/*from  w  ww. j  a  v a2  s. c  o m*/
    JSONObject result = new JSONObject(true);
    while (directChild != null) {
        if (directChild.getChildNodes().getLength() == 1
                && directChild.getChildNodes().item(0).getNodeType() == Node.TEXT_NODE) {
            result.put(directChild.getNodeName(), directChild.getChildNodes().item(0).getTextContent());
        } else {
            result.put(directChild.getNodeName(), convertDOMNodeToMap(directChild));
        }
        directChild = directChild.getNextSibling();
    }
    return result;
}