У меня есть эта проблема с моим файлом JSON.цикл через JSON с нулевыми объектами
{"results" :[{
"name" : "name1",
"type" :[{
"id" : '2',
},{
"id" : '1',
},{
"id" : '4',
},{
"id" : '6',
}],
}],
"images" :[{
"url" : "url0",
},{
"url" : "url1",
},{
"url" : "url2",
},{
"url" : "url3",
},{
"url" : "url4",
}],
},{
"name" : "name2",
"type" :[{
{
"id" : '25',
},{
"id" : '123',
},{
"id" : '423',
},{
"id" : '346',
}],
"images" :[{
"url" : "url0",
},{
"url" : "url1",
},
{
"url" : "url2",
},
{
"url" : "url3",
},{
"url" : "url4",
}],
},
},{
"name" : "name3",
"type" : null,
"images" :null,
},.....
]}
объект JSON выглядит следующим образом Когда я петля через это кайф мне, когда дело доходит до нулевой
for(var i = 0; i < results.length; i++){
$('.results')append('<p class="liste">'+results[i].name+'</p><ul></ul>');
$('.liste').prepend('<img src="'+results[i].images[1].url+'"');
for(var j = 0; j < results[i].type.length; j++){
$('.results ul').append('<li>'+results[i].type[j].id+'</li>');
}
}
результат должен выглядеть примерно так
<div class="results">
<img src="url1"><p>name1</p>
<ul>
<li>2</li>
<li>1</li>
<li>4</li>
<li>6</li>
</ul>
<img src="url1"><p>name2</p>
<ul>
</ul>
<img src="url1"><p>name3</p>
<ul>
<li>25</li>
<li>123</li>
<li>423</li>
<li>346</li>
</ul>
</div>
я попробовал
if(results[i].images != null){
$('.liste').prepend('<img src="'+results[i].images[1].url+'">');
}else{
$('.liste').prepend('<img src="some default image" width="170" height="170">');
}
if(results[i].type != null){
for (var j = 0; j < results[i].type.length.length; j++) {
$('.album').append('<li>'+[i]+'-'+[j]+'-'+results[i].type.length[j].id+'</li>');
};
Это действительно беспорядочное изображение, которое появляется для каждого [i], и появляется первое [k], поскольку оно должно быть таким же, как и последнее [k] in в pre. [Я]
[i][j]
name1
[0][0]
[0][1]
[0][2]
[0][3]
[1][0]
name2
[1][0]
......
Я надеюсь, что кто-то может помочь мне с этим
EDIT Я забыл все «тип» указаны под каждым именем.
Проверьте, нет ли массива, прежде чем пытаться получить длину. –
'результаты [i] .type.length! = Null' это кажется странным. Не следует ли проверять «результаты [i] .type! = Null'? – Halcyon
вы правы, моя ошибка я его отредактировал ... я проверяю на 'results [i] .type! = Null' в коде – Frank