Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid JSON Parsing using API
    primarykey
    data
    text
    <p>I'm having a hard time figuring out how to parse this JSON file correctly.</p> <pre><code>{ "count": 10, "timestamp": 1333243153, "total": 100, "diggs": [ { "date": 1333243146, "item": { "status": "upcoming", "container": { "name": "Politics", "short_name": "politics" }, "description": "Major steps toward the disestablishment of Norway's state church, the (Lutheran) Church of Norway, were passed by the government on March 16 in its weekly session with King Harald V.", "title": "National Secular Society - Norway continues the long process of disestablishing the Lutheran Church", "submit_date": 1333206325, "media": 0, "diggs": 5, "comments": 0, "topic": { "name": "Politics", "short_name": "politics" }, "shorturl": { "short_url": "http://digg.com/news/politics/national_secular_society_norway_continues_the_long_process_of_disestablishing_the_lutheran_church", "view_count": 0 }, "promote_date": null, "link": "http://www.secularism.org.uk/news/2012/03/norway-continues-the-long-process-of-disestablishing-the-lutheran-church", "href": "http://digg.com/news/politics/national_secular_society_norway_continues_the_long_process_of_disestablishing_the_lutheran_church", "id": "20120331150525:56935e86-2dbf-4831-ad60-50def7781e68" }, "user": { "name": "ghelms", "links": [], "registered": 1158007588, "profileviews": 0, "fullname": "Gary Helms", "icon": "http://cdn2.diggstatic.com/user/614412/l.2001177284.png" }, "digg_id": "20120401011907:5cf92ee9-e915-4358-b14f-cf140b760469" }, ], "offset": 0 } </code></pre> <p>I'm trying to get only some of the elements "date", "description", "title", "diggs", "link", and "digg_id". Whenever I try parsing it will not work in listView nothing shows up, but if I use a String in my GetMethod class it will parse the entire API into a string and print it fine.</p> <p>My code:</p> <pre><code>public DiggItemList lastDigg () throws Exception { ArrayList&lt;HashMap&lt;String,DiggItem&gt;&gt; diggsList = new ArrayList&lt;HashMap&lt;String, DiggItem&gt;&gt;(); JSONArray diggs = null; JSONObject json = null; Intent in = getIntent(); String short_name = in.getStringExtra(TAG_SHORT_NAME); GetMethod get = new GetMethod(); json = get.getInternetData(); try { diggs = json.getJSONArray("diggs"); dlists = new DiggItemList(); for (int i = 0; i &lt; diggs.length(); i++) { JSONObject c = diggs.getJSONObject(i); String date = c.getString("date"); String description = c.getString("description"); String title = c.getString("title"); int digg = c.getInt("diggs"); String link = c.getString("link"); int digg_id = c.getInt("digg_id"); //JSONObject topic = c.getJSONObject("topic"); //String sn = topic.getString("short_name"); DiggItem di = new DiggItem(); di.setDate(c.getInt("date")); di.setDescription(c.getString("description")); di.setTitle(c.getString("title")); di.setDiggs(c.getInt("diggs")); di.setLink(c.getString("link")); di.setDigg_id(c.getString("digg_id")); dlists.add(di); /* if (sn.equals(short_name)) { dlists.add(di); } */ } }catch (JSONException e) { e.printStackTrace(); } return dlists; } </code></pre> <p>Class to get the API. (http://services.digg.com/2.0/digg.getAll). </p> <pre><code>public class GetMethod { public JSONObject getInternetData() throws Exception { BufferedReader in = null; String data = ""; JSONObject jObj = null; try { HttpClient client = new DefaultHttpClient(); URI website = new URI("http://services.digg.com/2.0/digg.getAll"); HttpGet request = new HttpGet(); request.setURI(website); HttpResponse response = client.execute(request); in = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); StringBuffer sb = new StringBuffer(""); String line = ""; while ((line = in.readLine()) != null) { sb.append(line + "\n"); } in.close(); data = sb.toString(); }finally { if (in != null) { try { in.close(); }catch (Exception e) { e.printStackTrace(); } } } try { jObj = new JSONObject(data); } catch (JSONException e) { Log.e("JSON Parser", "Error parsing data " + e.toString()); } // return JSON String return jObj; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload