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
