String jsonStr = '{"menu": {' + '"id": "file",' + '"value": "File",' + '"popup": {' + '"menuitem": [' + '{"value": "New", "onclick": "CreateNewDoc()"},' + '{"value": "Open", "onclick": "OpenDoc()"},' + '{"value": "Close", "onclick": "CloseDoc()"}' + ']' + '}' + '}}';
This JSON string is actually from http://json.org/example.html . It was the best I could find for this example.
Now that we have this, let's start using JSONObject . To do this, you will need the following import: import org.json.JSONObject;
JSONObject jsonObj = new JSONObject(jsonStr);
With this instance, we can do the following to track different pieces of data from a JSON string -
// grabbing the menu object JSONObject menu = jsonObj.getJSONObject("menu"); Reading =========> HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result=sb.toString();=======>Here result is the json string // these 2 are strings String id = menu.getString("id"); String value = menu.getString("value"); // the popop is another JSON object JSONObject popup = menu.getJSONObject("popup"); // using JSONArray to grab the menuitems from under popop JSONArray menuitemArr = popupObject.getJSONArray("menuitem"); // lets loop through the JSONArray and get all the items for (int i = 0; i < menuitemArr.length(); i++) { // printing the values to the logcat Log.v(menuitemArr.getJSONObject(i).getString("value").toString()); Log.v(menuitemArr.getJSONObject(i).getString("onclick").toString()); }
For a simple example, click here.
Ram kiran
source share