我试图使用jQuery获取嵌套的电台名称,并在' div'中显示名称。我能够显示' jObject'的内容。但是,我无法访问特定的电台名称。
这是我到目前为止所尝试过的。
home/index
JSON结构
$.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));
});
}
});
答案 0 :(得分:3)
您应该在sum(df.values.tolist(),[])
Out[65]: ['a', 'b', 'c', 'f', 'g', 'h', 'k', 'l', 'm']
上使用$each
,而不是jObject
。并且您需要在获取名称时指定索引,因为jObject.name
是一个对象数组或只是使用stations
element.name

var data={
"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
}
]
};
var jObject = data.stations;
$.each(jObject, function(index, element) {
console.log(jObject[index].name);
console.log(element.name);
});

答案 1 :(得分:1)
您的代码中存在一些问题:
$.each()
将迭代一个数组,因为您已将data.stations
定义为jObject
,您需要迭代in
该数组。
$.each
函数接受参数index
和element
,第一个是元素在数组中的位置,第二个是元素本身。
所以代码将是:
var jObject = data.stations;
$.each(jObject, function(index, element) {
$('#stationName').append(element.name);
});
检查JSFIDDLE