亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

讀取 JSON 時值不存在

讀取 JSON 時值不存在

郎朗坤 2023-03-09 14:59:48
我的JSON{   "destination_addresses" : [      "11/6, Dhandapani St, VGP Seethapathy Nagar, Velachery, Chennai, Tamil Nadu 600042, India"   ],   "origin_addresses" : [ "Magazine Road, St Thomas Mount, Chennai, Tamil Nadu 600016, India" ],   "rows" : [      {         "elements" : [            {               "distance" : {                  "text" : "6.6 km",                  "value" : 6589               },               "duration" : {                  "text" : "21 mins",                  "value" : 1268               },               "status" : "OK"            }         ]      }   ],   "status" : "OK"}我需要從這個 JSON 中獲取距離值。我一直在獲取值,但在嘗試將此 JSON 對象轉換為 JSON 數組時出現異常。成功到此為止JSONArray rows= (JSONArray) jsonObject.get("rows");JSONObject elements= (JSONObject) rows.get(0);Log.d("Eleemnrs",String.valueOf(elements));當我執行下面的代碼時,距離沒有價值 JSONArray rows= (JSONArray) jsonObject.get("rows"); JSONObject elements= (JSONObject) rows.get(0); elements.get("distance"); Log.d("Eleemnrs",String.valueOf(elements));
查看完整描述

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")


查看完整回答
反對 回復 2023-03-09
?
米琪卡哇伊

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"));


查看完整回答
反對 回復 2023-03-09
?
慕碼人8056858

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");

雕刻出答案!


查看完整回答
反對 回復 2023-03-09
  • 3 回答
  • 0 關注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號