3 回答

TA貢獻1712條經驗 獲得超3個贊
JSONObject 元素= (JSONObject) rows.get(0); 這個結果元素是:
{
"elements" : [
{
"distance" : {
"text" : "10.3 km",
"value" : 10320
},
"duration" : {
"text" : "20 mins",
"value" : 1178
},
"status" : "OK"
}
]
}
如果你應該先得到distance你應該得到的值get("elements"),然后是 getJsonObject(0).get("distance")

TA貢獻1998條經驗 獲得超6個贊
當您執行 elements.get("distance") 時,您沒有使用該對象
JSONArray rows= (JSONArray) jsonObject.get("rows");
JSONObject elements= (JSONObject) rows.get(0);
//Here you are not assigning the distance object to any variable. It is simply discarded
elements.get("distance");
Log.d("Eleemnts",String.valueOf(elements));
您可以按如下方式修改代碼以將距離對象放入 JsonObject 并從中讀取所需的值。
JSONArray rows= (JSONArray) jsonObject.get("rows");
JSONObject elements= (JSONObject) rows.get(0);
JsonObject distance = elements.get("distance");
Log.d("Distance text is ", distance.getString("text"));
Log.d("Distance value is ", distance.getInt("value"));

TA貢獻1803條經驗 獲得超6個贊
JSONArray rows= (JSONArray) jsonObject.get("rows");
JSONObject elements= (JSONObject) rows.get(0);
JSONArray one= (JSONArray) elements.get("elements");
JSONObject two=(JSONObject)one.get(0);
JSONObject three=(JSONObject)two.get("distance");
int finalvalue= (int) three.get("value");
雕刻出答案!
添加回答
舉報