2010-10-26 3 views
1

Как я могу прочитать этот массив json? Я получаю неопределенные результаты. Что я делаю не так?Как читать массивы json?

= JSon файл ==

// JSON 
{ 
"items": [ 
    { 
    "title": "welcoem home", 
    "author": "Charles Dickens" 
    }, 
    { 
    "title": "Harry Potter", 
    "author": "J rowling" 
    }] 
} 

<script language="javascript" > 
$(document).ready(function() { 
    $('#letter-a a').click(function() { 
    $.getJSON('q3.json', function(data) { 
     $('#dictionary').empty(); 
     $.each(data, function(entryIndex, entry) { 
     var html = '<div class="entry">'; 
     html += '<h3 class="title">' + entry['title'] + '</h3>'; 
     html += '<div class="author">' + entry['author'] + '</div>'; 
     html += '<div class="definition">'; 
     if (entry['items']) { 
      html += '<div class="quote">'; 
      $.each(entry['items'], function(lineIndex, line) { 
      html += '<div class="quote-line">' + line + '</div>'; 
      }); 
      if (entry['author']) { 
      html += '<div class="quote-author">' + entry['author'] + '</div>'; 
      } 
      html += '</div>'; 
     } 
     html += '</div>'; 
     html += '</div>'; 
     $('#dictionary').append(html); 
     }); 
    }); 
    return false; 
    }); 
}); 


</script> 

<link rel="stylesheet" href="json.css" type="text/css" /> 
</head> 

<body> 
<div id="container"> 
     <div id="header"> 
     <h2>json stuff</h2> 
     </div> 

     <div class="letters"> 
       <div class="letter" id="letter-a"> 
       <h3><a href="#">A</a></h3> 
       </div>  

     </div> 
     <div id="dictionary"> 

     </div> 
</div> 
+0

Какая строка является ошибкой? Хотя здесь мы можем понять это, почему нас угадывают? –

ответ

3
$.each(data, function(entryIndex, entry) { 

Вы не можете запустить each на data, поскольку это не является массивом. Я думаю, что вы хотите

$.each(data.items, function(entryIndex, entry) { 
+0

спасибо. это сработало. есть ли какой-либо другой способ doign без использования jquery? -thanks – user244394

+0

Вы можете использовать практически любую другую библиотеку/фреймворк или самостоятельно выписать весь код в чистом JavaScript. – Phil

+0

как бы вы читали это, используя простой javascript? – user244394

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