The JSON data that we will parse in this tutorial is the following:
{ "status" : "ok", "score" : 101, "friends" : [{"id" : 321, "score" : 100}, {"id" : 320, "score" : 105}] }
We will assume that you can access this data from the URL: http://server.com/json
The first step is to get the data in you android application. Since we will download it from a server, you will first need to specify the internet permission in you Android Manifest file:
<uses-permission android:name="android.permission.INTERNET" />
Now that we set this permission, we can download the data. Since we can't use the main thread for networking, we will create a new thread to download our data and parse it. Add the following code in your onCreate method, in your Activity class.
new Thread() { public void run() { helloJson(); } }.start();
Next, we will create the helloJson method, containing the following code:
public void helloJson() { StringBuilder builder = new StringBuilder(); try { HttpClient client = new DefaultHttpClient(); HttpGet httpGet = new HttpGet("http://server.com/json"); HttpResponse response = client.execute(httpGet); int statusCode = response.getStatusLine().getStatusCode(); if (statusCode == 200) { HttpEntity entity = response.getEntity(); InputStream content = entity.getContent(); InputStreamReader reader = new InputStreamReader(content) BufferedReader reader = new BufferedReader(reader); String line; while ((line = reader.readLine()) != null) { builder.append(line); } JSONObject jobj = new JSONObject(builder.toString()); builder = new StringBuilder(jobj.get("status").toString()); JSONArray jar = jobj.optJSONArray("friends"); builder.append(jar.length()); } } catch(Exception e) { e.printStackTrace(); builder.append(e); } final String str = builder.toString(); runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show(); } }); }
This will display a message using Toast, containing the status string and the length of the friends array.
That's it! :)
No comments:
Post a Comment