[英]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[]
不訪問任何內容。 您需要在方括號內輸入一個數字。 可能有多個對象rows
或elements
。 填寫所需的數組索引:
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.