by analyzing the tables json 2 (embedded) in Android

advertisements

I'm trying to find the value in jsonObject distance (which is 10194)

{
   "destination_addresses" : [ "Burnaby, BC, Canada" ],
   "origin_addresses" : [ "Vancouver, BC, Canada" ],
   "rows" : [
      {
         "elements" : [
            {
               "distance" : {
                  "text" : "10.2 km",
                  "value" : 10194
               },
               "duration" : {
                  "text" : "19 mins",
                  "value" : 1118
               },
               "status" : "OK"
            }
         ]
      }
   ],
   "status" : "OK"
}

I wrote this code but it gives me null

  rows = jObj.getJSONObject(TAG_ROWS);
       JSONArray elements = new JSONArray (rows.getString(TAG_ELEMENTS));
       for (int i=0; i<elements.length();i++){
            JSONObject obj = elements.optJSONObject(i);
            JSONObject distance = obj.getJSONObject(TAG_DISTANCE);
             value= distance.getString(TAG_VALUE);

any idea ??


You gonna have to do something as below

try {
    JSONObject jsonObj = new JSONObject(YOUR-JSON-STRING-HERE);

    String destination = jsonObj.getString("destination_addresses");
    // printing the destination and checking wheather parsed correctly
    Log.v("Destination", destination);

    JSONArray jarRow = jsonObj.getJSONArray("rows");
    for(int i=0;i<jarRow.length(); i++){
        // creating an object first
        JSONObject ElementsObj = jarRow.getJSONObject(i);
        // and getting the array out of the object
        JSONArray jarElements = ElementsObj.getJSONArray("elements");
        for(int j=0; j<jarElements.length(); j++){
            JSONObject distanceObj = jarElements.getJSONObject(j).getJSONObject("distance");
            String distanceStr = distanceObj.getString("value");
            Log.v("finally getting distance : ", distanceStr);
        }
    }

} catch (JSONException e) {
    e.printStackTrace();
}

here is a screen shot from DDMS