2013-03-25 2 views
0

У меня есть массив JSON с подмассива в нем отформатированы, как это:Выполнить каждый цикл на JSon подмассива

[{"id":"188","stars":"2","staryes":"2","starers [{"starfirstname":"Name1","starlastname":"Name1","staruser":"1"}, 
{"starfirstname":"Name2","starlastname":"Name2 ","staruser":"3"}],"time":"1364151043","postedby":"43","text":"TEST","firstname":"Name3","lastname":"Name3","picture":"806243.jpg"}] 

Я могу запустить цикл по всему массиву, делая это:

$.each(data, function(i, data) { //function }) 

, но я не могу понять, как получить цикл для работы на вспомогательном массиве «стартеры»

Каков наилучший способ сделать это?

+0

Ваш JSON недействителен, исправить ее и повторите попытку. – Musa

ответ

1

Предполагая, что ваш JSON действительно является действительным, это обычный массив JavaScript:

for (var i = 0; i < thing.starers.length; i++) { 
    var starer = thing.starers[i]; 

    ... 
} 
0

Внутри вашего .each обратного вызова, data будет каждый объект, который случается иметь starers свойство. Так просто петля снова оттуда (я переименовал data в item для ясности):

$.each(data, function(i, item) { 
    $.each(item.starers, function(i, starer) { 
     // do something 
     // e.g. alert(starer.starfirstname); 
    }); 
});