使用 JavaScript 访问 JSONP 数据中深度嵌套的值
Accessing deeply nested values in JSONP data with JavaScript
我是 JavaScript 的初学者,我正在尝试通过深入研究和构建一些东西来学习。我可能无法在我的第一个项目中使用 JSONP,但我正在尝试创建一个脚本,该脚本将使用 LaunchLibrary API 来显示即将进行的火箭发射。
具体来说,我调用的是thisJSONP对象。
到目前为止,我的代码只尝试在每次启动时访问数据的某些点,并将它们存储在一个数组中,以便稍后我想显示数据时可以访问它们。
function launchDisplay(data){
//Gather and store relevant data
var rocketName = [];
for(i = 0; i < data.launches.length; i++){
rocketName.push(data.launches[i].rocket.name);
}
console.log(rocketName);
}
但是,此代码会生成
Uncaught SyntaxError: Unexpected token :
在控制台中似乎是第一对 key:value。 JSON 对象嵌套很深,以 "total":10 开头,这是我的搜索条件返回的启动次数。对象中的第二项是我的数据所在的位置,一个启动数组,其中包含搜索返回的所有启动。在 launch 对象中嵌套了其他对象,我需要访问这些对象。
对我做错了什么有帮助吗?
编辑:代码现在可以工作了。看来我使用的 API 需要 JSON,而不是 JSONP。此外,函数是 运行 同步的,而不是异步的。 Here 是可用的 JSFiddle,供参考。
我刚刚在我的浏览器控制台中尝试了您所做的事情。使用 JSON 数据似乎可以正常工作。那么您可以添加任何其他内容来帮助我重现问题吗?
我是 JavaScript 的初学者,我正在尝试通过深入研究和构建一些东西来学习。我可能无法在我的第一个项目中使用 JSONP,但我正在尝试创建一个脚本,该脚本将使用 LaunchLibrary API 来显示即将进行的火箭发射。
具体来说,我调用的是thisJSONP对象。
到目前为止,我的代码只尝试在每次启动时访问数据的某些点,并将它们存储在一个数组中,以便稍后我想显示数据时可以访问它们。
function launchDisplay(data){
//Gather and store relevant data
var rocketName = [];
for(i = 0; i < data.launches.length; i++){
rocketName.push(data.launches[i].rocket.name);
}
console.log(rocketName);
}
但是,此代码会生成
Uncaught SyntaxError: Unexpected token :
在控制台中似乎是第一对 key:value。 JSON 对象嵌套很深,以 "total":10 开头,这是我的搜索条件返回的启动次数。对象中的第二项是我的数据所在的位置,一个启动数组,其中包含搜索返回的所有启动。在 launch 对象中嵌套了其他对象,我需要访问这些对象。
对我做错了什么有帮助吗?
编辑:代码现在可以工作了。看来我使用的 API 需要 JSON,而不是 JSONP。此外,函数是 运行 同步的,而不是异步的。 Here 是可用的 JSFiddle,供参考。
我刚刚在我的浏览器控制台中尝试了您所做的事情。使用 JSON 数据似乎可以正常工作。那么您可以添加任何其他内容来帮助我重现问题吗?