如何使用javascript从api读取JSON数据
您好,我正在尝试从api读取JSON数据,但当我尝试从该api获取数据时,它不起作用。当我尝试获取距离值时,我没有定义。请帮助 代码如何使用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
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]
。。更新了答案。。