Есть довольно-таки нетривиальный json-файл. С массивами в том числе.
Нужно из этого json-файла сделать dom-дерево с данными и "айдишниками". Да, можно использовать какой-нибудь ангуляр или просто шаблонизатор и написать что-то вроде
<ul ng-repeat="{corpus.levels.room}">
<li>{corpus.levels.room.user}</li>
</ul>
Но в конкретном случае есть только jQuery и отсутствие шаблонизатора. Как сделать попроще вот этот кусок кода:
$.getJSON( "js/data.json", function( data ) {
var items = [];
$.each( data, function( corpus, val ) {
$('body').append('<section class="json" data-corpus='+corpus+'>');
$.each( data[corpus], function( key2, val2 ) {
//console.log(key2 + ' - ' + val2);
var section = $('section.json[data-corpus="'+corpus+'"]');
section.append('<div class="'+key2+'-'+corpus+'">Корпус '+val2+'</div>')
$.each( data[corpus].levels, function( key3, val3 ) {
//console.log(key3 + ' - ' + val3);
level = section.find('.levels-'+key3);
$.each( data[corpus].levels[key3], function( key4, val4 ) {
level.append('<div class="'+key4+'">'+val4+'</div>');
$.each( data[corpus].levels[key3].rooms, function( key5, val5 ) {
var rooms = level.find('.rooms');
rooms.append('<div class="room" data-roomId="'+key5+'">');
$.each( data[corpus].levels[key3].rooms[key5], function( key6, val6 ) {
var room = rooms.find('.room[data-roomid="'+key5+'"]');
room.append('<div class="'+key6+'">'+val6+'</div>');
});
});
});
});
});
});