我正在尝试将数据从 json 页面显示到我的页面,但数据仅显示在 [object Object]、[object Object]、[object Object]
处。
据我猜测,我抓取的数据是这些数组中的那些对象,但我没有正确编写代码来显示内容?我尝试了 JSON.stringify() 和 JSON.parse(),仍然没有成功。
这里是 json 的链接:https://data.nasa.gov/resource/2vr3-k9wn.json
代码如下:
编辑:现在我的代码根本不起作用。嘎嘎
function Comet() {
url = 'https://data.nasa.gov/resource/2vr3-k9wn.json'
var cometRequest = new XMLHttpRequest();
cometRequest.onreadystatechange = function() {
if (cometRequest.readyState === 4 && cometRequest.status === 200) {
var response = cometRequest.responseText,
parsedComet = JSON.parse(response);
for (line in parsedComet) {
//console.log(line);
for (i=0; i<line.length; i++) {
console.log(parsedComet[line][i]);
}
}
};
}
cometRequest.open("GET", url, true);
cometRequest.send(null);
}
最佳答案
我不确定您到底要获取哪些数据,但您已经有了 parsedComet[line]
,您不需要添加 i
那里。
每个 parsedComet[line]
都是一个对象(就像这个):
{
"designation":"419880 (2011 AH37)",
"discovery_date":"2011-01-07T00:00:00.000",
"h_mag":"19.7",
"i_deg":"9.65",
"moid_au":"0.035",
"orbit_class":"Apollo",
"period_yr":"4.06",
"pha":"Y",
"q_au_1":"0.84",
"q_au_2":"4.26"
}
因此,如果您想获取 orbit_class
的值,您可以使用:
console.log(parsedComet[line]['orbit_class']);
function Comet() {
url = 'https://data.nasa.gov/resource/2vr3-k9wn.json'
var cometRequest = new XMLHttpRequest();
cometRequest.onreadystatechange = function() {
if (cometRequest.readyState === 4 && cometRequest.status === 200) {
debugger;
var response = cometRequest.responseText,
parsedComet = JSON.parse(response);
for (line in parsedComet) {
//console.log(line);
console.log(parsedComet[line]);
}
};
}
cometRequest.open("GET", url, true);
cometRequest.send(null);
}
Comet();
关于javascript - 代码不显示 json 页面中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40335155/