2017-01-09 4 views
1

Я получаю следующий объект через jsonp. Это структура:Печать свойств объекта jsonp с помощью цикла

 "item1": { 
 
     "child1": { 
 
      "nr": 123, 
 
      "money": "USD", 
 
      "Date": "12.12.2016, 17:00", 
 
      "asw1": 13, 
 
      "SpecialField": 33, 
 
      "another": 11, 
 
      "climbedSince": 1, 
 
      "rfeeew": 0, 
 
      "dfffe": 10 
 
     }, 
 
     "child2": { 
 
      "nr": 123, 
 
      "money": "EUR", 
 
      "Date": "01.01.2017, 17:00", 
 
      "asw1": 11, 
 
      "SpecialField": 11, 
 
      "another": 11, 
 
      "climbedSince": 1, 
 
      "rfeeew": 0, 
 
      "dfffe": 10 
 
     } 
 
    }, 
 
    "item2": { 
 
     "child1": { 
 
      "nr": 552, 
 
      "money": "USD", 
 
      "Date": "12.4.2016, 13:00", 
 
      "asw1": 13, 
 
      "SpecialField": 33, 
 
      "another": 44, 
 
      "climbedSince": 1, 
 
      "rfeeew": 0, 
 
      "dfffe": 10 
 
     }, 
 
     "child2": { 
 
      "nr": 343, 
 
      "money": "EUR", 
 
      "Date": "01.01.2017, 17:00", 
 
      "asw1": 11, 
 
      "SpecialField": 67, 
 
      "another": 11, 
 
      "climbedSince": 1, 
 
      "rfeeew": 0, 
 
      "dfffe": 10 
 
     } 
 
    }

Это мой код.

<script> 
 
    \t function getApiData(tld, callback) { 
 
\t $.ajax({ 
 
\t \t url: 'https://www.website.com/api', 
 
\t \t dataType: 'jsonp', 
 
\t \t success: function(data) { 
 
\t \t \t callback(data); 
 
\t \t \t console.log(data); 
 
\t \t }, 
 
\t \t error: function() { 
 
\t \t \t console.error('Could not get lottery jackpots!'); 
 
\t \t } 
 
\t }); 
 
} 
 
function drawApiData() { 
 
\t var now = new Date(); 
 
\t getApiData('com', function(theStuff){ 
 
\t \t $.each(theStuff, function(id, value) { 
 
\t \t \t var checkStuff=[]; 
 
\t \t \t if($.inArray(id, checkStuff)==-1){ 
 
\t \t \t \t checkStuff.push(id); \t 
 
\t \t \t $('#main2').append('Field: '+id+'<br/'); 
 
    \t \t \t } 
 
\t \t }); 
 
\t }); 
 
} 
 
drawAllData(); 
 
</script>

Я хотел бы напечатать (добавить) на экране пару значений с цикл, по многим пунктам, как объект (это не статично, но структура всегда одна и та же).

Я могу напечатать item1, item2, но я не могу получить доступ к 2-му уровню.

Что я хотел бы напечатать, например, время от «Дата» + «Специальный экран».

Заранее благодарю вас за помощь! :)

+0

'$ .each()' метод является для * перебрать объект JQuery * не для обычных объектов – RomanPerekhrest

ответ

0

Это то, что вы ищете:

var container = $("#main2"); 
var append = (obj) => { 
    //do something with obj object 
    container.append('My date: '+obj.Date); 
}; 
for(var parent of theStuff){ 
    for(var child of parent){ 
    append(child); 
    } 
} 
+0

Спасибо за вашу помощь! Я не уверен, что понимаю вашу петлю. Не могли бы вы так хорошо разобраться? – Silverthan