Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery-无法访问json中返回的变量_Javascript_Jquery_Json - Fatal编程技术网

Javascript JQuery-无法访问json中返回的变量

Javascript JQuery-无法访问json中返回的变量,javascript,jquery,json,Javascript,Jquery,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+"&m

我对编程非常陌生,因为我上周才开始编程。 代码部分-

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
我可以使用数据['status']数据访问和显示“目的地地址”、“状态”和“来源地地址”。状态但无法访问行[]我已经尝试了我可能知道的所有方法

我想我可以只做数据、行、距离、文本,但什么也没发生


任何帮助都将不胜感激

是一个数组,以及
元素
,您需要像这样访问它:

var text = data.rows[0].elements[0].distance.text;
// this yields "652 km"
您希望返回数组的第一个元素,因为它只有一个<代码>行[]不访问任何内容。括号内需要一个数字。可能有多个对象
元素
。填写所需的数组索引:

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

是一个数组,以及
元素
,您需要这样访问它:

var text = data.rows[0].elements[0].distance.text;
// this yields "652 km"
您希望返回数组的第一个元素,因为它只有一个<代码>行[]不访问任何内容。括号内需要一个数字。可能有多个对象
元素
。填写所需的数组索引:

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"
  }
试一试

输出
625km
试试


输出
625km

包括jquery并尝试解析使用
json.parse返回的json数据,这将为您提供一个javascript数组对象

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

希望这有助于包含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;

首先将json解析为真实对象:

try {
  var realObject = JSON.parse(jsonString);
} catch (err) {
  console.log("error parsing json string");
}
您还可以通过以下方式访问:

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

可能重复的
是一个数组,因此无法使用
data.row.distance
访问其元素。您需要更具体的
行[0]。元素。距离。文本
元素也是一个数组:
行[0]。元素[0]。距离。文本
行的可能副本
是一个数组,因此您无法使用
数据。行。距离
访问其元素。您需要更具体的
行[0]。元素。距离。文本
元素也是一个数组:
行[0]。元素[0].distance.text
我很确定使用JQuery$。获取
数据
变量包含未序列化的对象,而不是JSON字符串。在这种情况下,这将是google的问题:
成功回调函数传递返回的数据,返回的数据将是XML根元素、文本字符串、JavaScript文件或JSON对象,根据响应头的MIME类型
,数据可以是文本(字符串)或对象(解析的JSON),不太可能返回(XML)文档,因为JSON字符串即使返回该响应头,也不会生成有效的XML。假设OP有正确的头,就不需要解析返回值。我很确定使用JQuery$。获取
数据
变量包含未序列化的对象,而不是JSON字符串。在这种情况下,这将是google的问题:
成功回调函数传递返回的数据,这将是一个XML根元素、文本字符串、JavaScript文件或JSON对象,具体取决于响应的MIME类型
基于响应头数据可以是文本(字符串)或对象(解析的JSON),但不太可能是(XML)文档将被返回,因为即使JSON字符串返回响应头,它也不会生成有效的XML。假设OP具有正确的头,则无需解析返回值。