我在解析.JSON时遇到了一些问题。
好的,所以'element.lineStatuses'可以在数组中返回1或2个opject但我只想从数组中返回第一个对象。我尝试了很多不同的解决方案,然而,似乎都没有工作......
请注意:我无法使用'$ .first()'作为解决方案,因为我的应用程序依赖于旧版本的jQuery。
$.ajax({
url:"https://api.tfl.gov.uk/line/mode/tube,overground,dlr,tflrail/status",
dataType: 'json',
type: 'get',
cache: false,
beforeSend: function() {
$("#loadingDiv").show();
},
success: function(data){
console.log(data);
var jObject = data;
$.each(jObject, function(index, element) {
$("#lines").append("<li class=\"lineName\"><h2>" + element.name + "</h2></li>");
// console.log(element.name);
// element.lineStatuses; can contain 1 or 2 opjects in an array but i only want to return the first objectin array.
var status = element.lineStatuses;
// loop to get line status
// gets all objects
$.each(status, function(index, element) {
var desc = element.statusSeverityDescription;
//console.log(desc);
$("#lines").append("<p class=\"currentStatus\">" + desc + "</p>");
});
});
}// end success
});// end ajax
答案 0 :(得分:0)
试试这个:
var status = element.lineStatuses[0];
答案 1 :(得分:0)
如果你想要的只是在它自己的数组中获得类数组对象的第一个元素,你可以使用slice
创建一个浅拷贝:
var status = [].slice.call(element.lineStatuses, 0, 1);
如果您确定element.lineStatuses
是一个数组,而不仅仅是类似数组,您可以使用更简单的方法:
var status = element.lineStatuses.slice(0, 1);