2015-10-12 5 views
-2

Am пытается вызвать в JSON API и перебирать результат, но получаю ошибку, какJSON итерация данные

Uncaught TypeError: Cannot use 'in' operator to search for '379741' in {"status":true,"flights":...}

скрипку здесь http://jsfiddle.net/au8ahmho/1/

(function() { 
     var flickerAPI = 'http://whateverorigin.org/get?url=' + 'http://www.dubaiairports.ae/FIDS_cache/arrivals_today_all.json' + '&callback=?'; 
     $.getJSON(flickerAPI, { 
      format: "json" 
     }) 
      .done(function (data) { 

       //$.each(data.contents, function (flights) { 
       // alert(flights.flightnumber); 
       //}); 

      }); 
    })(); 

скрипку здесь http://jsfiddle.net/au8ahmho/1/

+0

ум комментируя downvotes pleaase, я также узнать – sajanyamaha

+0

не Если ваш формат должен быть JSONP? – Meules

ответ

0

Надеюсь, это может вам помочь!

(function() { 
 
      var flickerAPI = 'http://whateverorigin.org/get?url=' + 'http://www.dubaiairports.ae/FIDS_cache/arrivals_today_all.json' + '&callback=?'; 
 
      $.getJSON(flickerAPI, { 
 
       format: "json" , 
 
       beforeSend : function(){ 
 
        $('#el').html(' waiting a response from http://whateverorigin.org/'); 
 
       } 
 
      }) 
 
      .done(function (data) { 
 
       console.log(JSON.parse(data.contents)); 
 
       var ff = JSON.parse(data.contents) ; 
 
       var numbers = ff.flights.map(function(flight){ 
 
        return flight.flightNumber; 
 
       }); 
 
       $('#el').html(numbers.join('<br>')); 
 
       
 

 
      }); 
 
     })();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id='el'></div>

+0

спасибо человеку, я не знал о функции «map». – sajanyamaha

+0

сейчас вы :-) Добро пожаловать! – Anonymous0day

-1

Это зависит от того, как выставляется JSON, который возвращается. Из полученной вами ошибки вы должны попробовать flights.flight[flightnumber].