簡體   English   中英

jQuery-無法訪問在json中返回的變量

[英]JQuery - Unable to access variables which are returned in json

我對編程非常陌生,因為我上周才開始編程。 代碼部分-

var office = document.getElementById('start').value;
var pickup = document.getElementById('start').value;
 $.get("https://maps.googleapis.com/maps/api/distancematrix/json?origins="+office+"&destinations="+pickup+"&mode=drivinging&language=en&sensor=false",function(data){
alert(data['status']);

返回的數據-

http://maps.googleapis.com/maps/api/distancematrix/json?origins=edingbourgh&destinations=london&mode=drivinging&language=en&sensor=false

我可以使用data ['status']data.status訪問和顯示“ destination_addresses ”,“ status ”和“ origin_addresses ”,但無法訪問行[]中的任何內容。

我以為我可以做data.row.distance.text但什么也沒做。

任何幫助將非常感激

rows是一個數組以及一個elements ,您需要像這樣訪問它:

var text = data.rows[0].elements[0].distance.text;
// this yields "652 km"

您想返回數組的第一個元素,因為它只有一個。 rows[]不訪問任何內容。 您需要在方括號內輸入一個數字。 可能有多個對象rowselements 填寫所需的數組索引:

var text = data.rows[2].elements[5].distance.text;
// this yields text from the sixth element of the third row.


原始回復:

  {
     "destination_addresses" : [ "London, UK" ],
     "origin_addresses" : [ "Edinburgh, City of Edinburgh, UK" ],
     "rows" : [
        {
           "elements" : [
              {
                 "distance" : {
                    "text" : "652 km",
                    "value" : 652135
                 },
                 "duration" : {
                    "text" : "6 hours 44 mins",
                    "value" : 24247
                 },
                 "status" : "OK"
              }
           ]
        }
     ],
     "status" : "OK"
  }

嘗試

alert(data['rows'][0].elements[0].distance.text);

輸出 625km

包括jquery並嘗試解析使用JSON.parse返回的json數據,這將為您提供一個javascript數組對象

var dataArray = JSON.parse(data['status']);
alert(dataArray['status']);

希望這可以幫助

首先將json解析為真實對象:

try {
  var realObject = JSON.parse(jsonString);
} catch (err) {
  console.log("error parsing json string");
}

並且您應該可以通過以下方式訪問:

var text = data.rows[0].elements[0].distance.text;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM