Привет, я снова создаю приложение для расписания аэропортовой информации для полета данных аэропорта arr и dep, у меня есть много массивов и я смущен, чтобы использовать, я пытаюсь использовать этот способ для кодирования, но не работает.
json array
введите описание изображения здесь
Ошибка: http://www.3rbz.com/uploads/49fe2aa262501.png
(function() {
var app = angular.module('starter.bgw', ['ionic']);
app.controller('myctlr', function($scope, $http) {
var service_url = "/airport.json?code=bgw";
$http.get(service_url)
.success(
function(data) {
$scope.city= data.result.response.airport.pluginData.details.name;
console.log(data);
bord = [];
for(i=0; i<36; i++) {
var arr = data.result.response.airport.pluginData.schedule.arrivals.data[i].flight.airport[i].origin[i].name;
bord.push({ arr: arr });
}
})
})
})();
JSON
{
"result": {
"response": {
"airport": {
"pluginData": {
"schedule": {
"arrivals": {
"page": {
"current": 1,
"total": 2
},
"data": [
{
"flight": {
"airport": {
"origin": {
"name": "Bahrain International Airport"
}
}
}
}
]
}
}
}
}
}
}
}
get error Ошибка: data.result.response.airport.pluginData.schedule.arrivals.data[i].flight.airport[i] is undefined
Попробуй это. В соответствии с вашим json
, только data
являются array
(я предполагаю, что у вас по крайней мере 36 объектов в array
data
)
(function() {
var app = angular.module('starter.bgw', ['ionic']);
app.controller('myctlr', function($scope, $http) {
var service_url = "/airport.json?code=bgw";
$http.get(service_url)
.success(
function(data) {
$scope.city= data.result.response.airport.pluginData.details.name;
console.log(data);
bord = [];
for(var i=0; i<36; i++) {
var arr = data.result.response.airport.pluginData.schedule.arrivals.data[i].flight.airport.origin.name;
bord.push({ arr: arr });
console.log(arr);
}
})
})
})();
Error: data.result.response.airport.pluginData.schedule.arrivals.data[i] is undefined
см. рис. 3rbz.com/uploads/96dd085f2c4e1.png
<div class="row" ng-repeat="day in bord"> <h3>{{day.flights}}<h3> </ion-content></ion-pane>
airport[i]
- это не массив (также origin
), а объект в вашем примере json:
{
"flight": {
"airport": {
"origin": {
"name": "Bahrain International Airport"
}
}
}
}
Затем вы можете получить name
с этой строкой:
data.result.response.airport.pluginData.schedule.arrivals.data[i].flight.airport.origin.name;
data
должны иметь 36 элементов для этого цикла: for(var i=0; i<36; i++)
i
и data[i]
в каждом цикле?
.flight.airport[i].origin[i].name;
с.flight.airport.origin.name;
Error: data.result.response.airport.pluginData.schedule.arrivals.data.flight is undefined