【发布时间】:2017-06-22 17:09:07
【问题描述】:
我正在从 API 获取数据。 API 的格式如下:
{
"total":1,
"launches":[
{
"name":"Falcon 9 Full Thrust | BulgariaSat-1",
"net":"June 23, 2017 18:10:00 UTC",
"location":{
"pads":[
{
"name":"Launch Complex 39A, Kennedy Space Center, FL",
"agencies":[
{
"name":"SpaceX"
},
{
"name":"National Aeronautics and Space Administration"
}
]
}
],
"name":"Kennedy Space Center, FL, USA"
},
"rocket":{
"name":"Falcon 9 Full Thrust",
"agencies":[
{
"name":"SpaceX"
}
],
"infoURL":"http://www.spacex.com/falcon9"
},
"missions":[
{
"name":"BulgariaSat-1"
}
]
}
],
"count":1
}
我用来检索 JSON 的 jQuery 是:
$.getJSON('https://launchlibrary.net/1.2/launch/next/1', function(data) {
data.launches.forEach(function(d) {
$('#launch-main-name').append('<p class="rocket-main-data">' + d.name + '</p>');
$('#launch-main-date').append('<p class="rocket-main-data">' + d.net + '</p>');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="launch-main-name"></p>
<p id="launch-main-date"></p>
我遇到的问题是我无法从“launches”数组中的孙子元素获取任何数据:例如“location”->“pads”->“name”。但我能够从“launches”数组中获取例如“name”和“net”数据。
我已经尝试了一些我在这个网站上找到的答案,但都没有奏效。
TL;DR如何让我的 getJSON 以数组中的孙元素为目标?
【问题讨论】:
-
d.locations.pads,因为pads是一个数组,您必须对其进行迭代。喜欢d.locations.pads[0].name -
你也没有给我们一个例子来说明你当前是如何访问孙元素的
-
@Satpal:小错字:是
location,而不是locations。
标签: javascript jquery html arrays json