Javascript 如何从嵌套JSON获取特定数据
我正在尝试使用jQuery获取嵌套的站点名称,并将名称显示在“div”中。我可以显示“jObject”的内容,但是,我无法找到特定的电台名称 这就是我迄今为止所尝试的Javascript 如何从嵌套JSON获取特定数据,javascript,jquery,json,Javascript,Jquery,Json,我正在尝试使用jQuery获取嵌套的站点名称,并将名称显示在“div”中。我可以显示“jObject”的内容,但是,我无法找到特定的电台名称 这就是我迄今为止所尝试的 $.ajax({ url: "https://transportapi.com/v3/uk/tube/stations/near.json?app_id=appid&app_key=key&lat=" + lat + "&lon=" + lng + "&page=1&rpp=5",
$.ajax({
url: "https://transportapi.com/v3/uk/tube/stations/near.json?app_id=appid&app_key=key&lat=" + lat + "&lon=" + lng + "&page=1&rpp=5",
dataType: 'json',
type: 'get',
cache: false,
success: function(data) {
//console.log(data);
var jObject = data.stations;
// $('#stationName').append(JSON.stringify(jObject));
$.each(jObject.name, function(index, element) {
$('#stationName').append(JSON.stringify(jObject.name));
});
}
});
JSON结构
{
"minlon": -0.23437,
"minlat": 51.434842,
"maxlon": -0.03437,
"maxlat": 51.634842,
"searchlon": -0.13437,
"searchlat": 51.534842,
"page": 1,
"rpp": 1,
"total": 147,
"request_time": "2018-03-09T17:15:22+00:00",
"stations": [
{
"station_code": "MCR",
"atcocode": "9400ZZLUMTC",
"name": "Mornington Crescent",
"mode": "tube",
"longitude": -0.13878,
"latitude": 51.53468,
"lines": [
"northern"
],
"distance": 492
}
]
}
您应该在jObject上使用$each,而不是在jObject.name上使用$each。在获取名称时需要指定索引,因为stations是一个对象数组,或者只使用element.name
var数据={
minlon:-0.23437,
minlat:51.434842,
maxlon:-0.03437,
maxlat:51.634842,
searchlon:-0.13437,
searchlat:51.534842,
页码:1,
rpp:1,
总数:147,
请求时间:2018-03-09T17:15:22+00:00,
电台:[
{
车站代码:MCR,
atcocode:9400ZLLUMTC,
姓名:莫宁顿新月,
模式:管,
经度:-0.13878,
纬度:51.53468,
线路:[
北方的
],
距离:492
}
]
};
var jObject=数据站;
$.eachj对象、函数索引、元素{
console.logjObject[index].name;
console.logelement.name;
};
您的代码中存在一些错误: $。每个将在数组上迭代,因为您已经将data.stations定义为jObject,所以需要在该数组中迭代 $。每个函数都使用参数索引和元素,第一个是元素在数组中的位置,第二个是元素本身。 因此,代码将是:
var jObject = data.stations;
$.each(jObject, function(index, element) {
$('#stationName').append(element.name);
});
检查作业对象[0]。名称站是一个数组。{}对象。[]arrayAPI的密钥在代码中公开。请确保在API网站上重新生成API密钥谢谢您的详细解释!非常有帮助,非常感谢!干杯