Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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从api读取JSON数据_Javascript_Json - Fatal编程技术网

如何使用javascript从api读取JSON数据

如何使用javascript从api读取JSON数据,javascript,json,Javascript,Json,您好,我正在尝试从api读取JSON数据,但当我尝试从该api获取数据时,它不起作用。当我尝试获取距离值时,我没有定义。请帮助 代码 fetch('https://maps.googleapis.com/maps/api/distancematrix/json?units=meter&origins=Gurd%20Shola%201%20Station,%20Addis%20Ababa&destinations=Bole%20Medhane%20Alem%20Church,%20

您好,我正在尝试从api读取JSON数据,但当我尝试从该api获取数据时,它不起作用。当我尝试获取距离值时,我没有定义。请帮助

代码

fetch('https://maps.googleapis.com/maps/api/distancematrix/json?units=meter&origins=Gurd%20Shola%201%20Station,%20Addis%20Ababa&destinations=Bole%20Medhane%20Alem%20Church,%20Addis%20Ababa&key=API_KEY')
  .then(response => {
    return response.json()
  })
  .then(data => {
// Work with JSON data here
console.log(data.rows.elements.distance.value)
 })
  .catch(err => {

 })
网络的结果就是这样

{
   "destination_addresses" : [ "Addis Ababa, Ethiopia" ],
   "origin_addresses" : [ "Addis Ababa, Ethiopia" ],
   "rows" : [
      {
         "elements" : [
            {
               "distance" : {
                  "text" : "6.4 km",
                  "value" : 6386
               },
               "duration" : {
                  "text" : "15 mins",
                  "value" : 901
               },
               "status" : "OK"
            }
         ]
      }
   ],
   "status" : "OK"
}

data.rows.elementes.distance.value更改为
data.rows[0]。elements[0]。distance.value

检查此处的打字错误,它是
元素
不是
元素

另外,
元素
是一个数组,如果需要获取距离,则需要像
行[0]。元素[0]。距离一样获取距离

const数据={
“目的地地址”:[“埃塞俄比亚亚的斯亚贝巴”],
“原产地地址”:[“埃塞俄比亚亚的斯亚贝巴”],
“行”:[
{
“要素”:[
{
“距离”:{
“文本”:“6.4公里”,
“价值”:6386
},
“期限”:{
“文本”:“15分钟”,
“价值”:901
},
“状态”:“确定”
}
]
}
],
“状态”:“确定”
}

console.log(data.rows[0]。元素[0]。距离)
数据.rows.elementes.distance.value
更改为
数据.rows[0].elements[0].distance.value

检查此处的打字错误,它是
元素
不是
元素

另外,
元素
是一个数组,如果需要获取距离,则需要像
行[0]。元素[0]。距离一样获取距离

const数据={
“目的地地址”:[“埃塞俄比亚亚的斯亚贝巴”],
“原产地地址”:[“埃塞俄比亚亚的斯亚贝巴”],
“行”:[
{
“要素”:[
{
“距离”:{
“文本”:“6.4公里”,
“价值”:6386
},
“期限”:{
“文本”:“15分钟”,
“价值”:901
},
“状态”:“确定”
}
]
}
],
“状态”:“确定”
}

console.log(data.rows[0]。元素[0]。距离)行属性是一个对象数组,因此请尝试使用循环并访问该属性。这是因为“elements”是一个数组,要获取使用数据访问它所需的任何特定值。行[0]。元素[0].distance.value或运行循环以访问每个值。Rows属性是一个对象数组,因此请尝试使用循环并访问该属性。这是因为“elements”是一个数组,要获取任何特定的值,需要使用数据访问它。Rows[0]。elements[0]。distance.value或运行循环以访问每个值。拼写错误是不可避免的。@haptomee,尝试类似于
console.log(data.rows[0].elements[0].distance)
。@haptomee,因为行也是数组,所以您还需要放置
行[0]
。。更新了答案。.拼写错误,这是不可避免的。@haptomee,试试像
console.log(data.rows[0].elements[0].distance)
。@haptomee,因为行也是数组,所以您还需要放置
行[0]
。。更新了答案。。