Jquery - 选择随机JSON对象

时间:2009-11-28 10:48:07

标签: jquery json

我有这个jquery代码在页面加载时输出JSON文件中的条目......

$.getJSON('b.json', function(data) {
      $('#dictionary').empty().hide();



      $.each(data, function(entryIndex, entry) {
        var html = '<div class="entry">';
        html += '<h3 class="title">' + entry['title'] + '</h3>';
        html += '<div class="link_url">' + entry['link_url'] + '</div>';
        html += '<div class="image_src">';
        html += entry['image_src'];
        if (entry['quote']) {
          html += '<div class="quote">';
          $.each(entry['quote'], 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).fadeIn();
      });
    });

我需要做的是随机加载其中一个条目。

任何建议表示赞赏。

非常感谢, ç

JSON文件是......

[
  {
    "title": "WESITE NAME",
    "link_url": "http://www.website.com",
    "image_src": "http://www.website.com/images/recent.jpg",
  },
  {
    "title": "WESITE NAME",
    "link_url": "http://www.website.com",
    "image_src": "http://www.website.com/images/recent.jpg",
  },
  {
    "title": "WESITE NAME",
    "link_url": "http://www.website.com",
    "image_src": "http://www.website.com/images/recent.jpg",
  }
]

2 个答案:

答案 0 :(得分:4)

$.getJSON('b.json', function(data) { 
  var entry = data[Math.floor(Math.random()*data.length)];
  //do the same exact thing with entry
}

答案 1 :(得分:1)

看起来你想要从数组中随机输入。

尝试:

var random_entry = entry[Math.floor(Math.random() * entry.length)]