2016-06-30 2 views
-2

нашел фрагмент кода я пытаюсь изменить, но я не могу показаться, чтобы заставить его работать, этот код сделал для разбора формат JSON в качестве такогоАнализировать Уплотненный JSON с помощью JQuery & Ajax

[ 
    { 
    "name":"Barot Bellingham", 
    "shortname":"Barot_Bellingham", 
    "reknown":"Royal Academy of Painting and Sculpture", 
    "bio":"Barot has just finished his final year at The Royal Academy of Painting and Sculpture, where he excelled in glass etching paintings and portraiture. Hailed as one of the most diverse artists of his generation, Barot is equally as skilled with watercolors as he is with oils, and is just as well-balanced in different subject areas. Barot's collection entitled \"The Un-Collection\" will adorn the walls of Gilbert Hall, depicting his range of skills and sensibilities - all of them, uniquely Barot, yet undeniably different" 
    } 
] 

и мой формат JSON является многоуровневым вложенным, такие как

{ 
    "data": [ 
     { 
      "artists": { 
       "Artist": "Muse" 
      } 
     }, 
     { 
      "artists": { 
       "Artist": "Coldplay" 
      } 
     } 
    ] 
} 

The Javascript я нашел это

$('#search').keyup(function(){ 
    var searchField = $('#search').val(); 
    var myExp = new RegExp(searchField, 'i'); 
    $.getJSON('data.json', function(data){ 
     var output = '<ul class="searchresult">'; 
     $.each(data, function(key, val){ 
      if((val.name.search(myExp) != -1) || (val.bio.search(myExp) != -1)) { 
       output +='<li>'; 
       output +='<h2>' + val.name + '</h2>'; 
       output +='<img src="images/' + val.shortname + '_tn.jpg" alt="'+ val.name +'" />'; 
       output +='<p>' + val.bio + '</p>'; 
       output +='</li>'; 
      } 
     }); 
     output += '</ul>'; 
     $('#update').html(output); 
    }); 
}); 

так как и где бы я изменить это, чтобы отсортировать мой формат json?

Спасибо!

ответ

0

Ответ data - это объект с имуществом data, который содержит массив, который вы должны перебрать с помощью $.each(). Каждый элемент представляет собой объект с свойством artists, а его значение представляет собой объект с свойством Artist (я не знаю, почему у них этот дополнительный уровень вложенности, он кажется лишним).

$.each(data.data, function(index, val) { 
    var artist = val.artists.Artist; 
    // do what you want with artist 
}); 
+0

>> (я не знаю, почему они имеют этот дополнительный уровень вложенности, это кажется излишним) его просто примеры DAT-файлов, Theres собирается быть больше информации, как альбомы, полные треки, и т.д. –

Смежные вопросы