Javascript 如何将JSON数组与模板文字一起使用?
我正在学习javascript,并使用Fetch从URL检索和解析一些JSON。控制台记录JSON数组,但当我尝试在模板文本中使用它时,控制台中出现错误Javascript 如何将JSON数组与模板文字一起使用?,javascript,arrays,json,fetch,Javascript,Arrays,Json,Fetch,我正在学习javascript,并使用Fetch从URL检索和解析一些JSON。控制台记录JSON数组,但当我尝试在模板文本中使用它时,控制台中出现错误“positions not defined”。这就是我被挂断的地方,因为大多数示例和教程都没有显示JSON格式的方式 我如何访问它,以便在模板文本中使用它,或者有更好的方法吗?我不想循环使用它,因为我希望能够将某些值放置在我需要或想要的位置 我正在使用的代码示例: let positionData = new Request('URL_TO_J
“positions not defined”
。这就是我被挂断的地方,因为大多数示例和教程都没有显示JSON格式的方式
我如何访问它,以便在模板文本中使用它,或者有更好的方法吗?我不想循环使用它,因为我希望能够将某些值放置在我需要或想要的位置
我正在使用的代码示例:
let positionData = new Request('URL_TO_JSON')
fetch(positionData)
.then(function(response){
return response.json();
})
.then(function(json){
document.getElementById('online').innerHTML = `THERE ARE CURRENTLY ${positions.lenght} CHASERS LIVE`;
document.getElementById('name').innerHTML = `${positions[0].name}`;
console.log(json)
})
.catch(function(err) {
console.log(`Error: ${err}` )
});
在控制台中,它显示JSON数组,如下所示:
{positions: Array(2)}
positions: Array(2)
0: {report_at: "2019-04-26 20:29:29", lat: "33.0851707", lon: "-96.8177032", elev: "0", dir: "0", …}
1: {report_at: "2019-04-26 05:07:29", lat: "33.0173721", lon: "-96.5511093", elev: "0", dir: "0", …}
length: 2
__proto__: Array(0)
__proto__: Object
根据我一直在看的教程和视频,我需要做的就是这样,我认为这就是我的问题所在,因为JSON的前缀是位置
document.getElementById('name').innerHTML = `${positions[0].name}`;
但我在控制台中得到“位置未定义”错误 看起来positions
是您要返回的名为json
的对象中的一个键
试用
document.getElementById('name').innerHTML = `${json.positions[0].name}`;
您的数据位于包含位置的json
中,因此您应该说:
document.getElementById('online').innerHTML = `THERE ARE CURRENTLY ${json.positions.length} CHASERS LIVE`;`
document.getElementById('name').innerHTML = `${json.positions[0].name}`;
请注意,lenght
也应该拼写为length
:-)尝试使用json.positions[0].name${json.positions[0].name}
。您能解释一下为什么我需要在它前面加上json
?这是因为.then(function(json){
?如果是像foo
这样的东西,我会使用它吗?也是因为json包含一个键吗?如果它没有这个键,它只会是${json.length}
,举个例子吗?没错。中的变量json
。然后(function(json){…
可以被调用任何你想要的东西。在承诺中(比如请求)。然后应向
方法发送一个回调函数,该函数将在数据可用时接收数据。当承诺解析时,请求会传递一些JSON数据。您的函数在名为JSON
的变量中接收数据。