使用 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 数据似乎可以正常工作。那么您可以添加任何其他内容来帮助我重现问题吗?