2014-10-09 5 views
0

JSON 파일에서 임의의 값을 가져 오는 방법이 있습니까? 내 JSON은 같은 음악 아티스트에 따라 콘텐츠를 많이 포함하고, 그래서 나는 핸들 막대 JSON에서 임의의 값을 얻는 방법

그래서 내 JSON이 같은 모습 ... 더 무작위로 데이터를 표시하고 쇼에게 나중에 더 버튼을 추가하고 싶었 :

[ 
    data: [{ 
    "name" : "rihanna", 
    "song" : "pour it up" 
    }, 
    { 
     "name" : "rihanna" 
     "song" : "diamonds" 
    }, 
    { 
     "name" : "ladygaga" 
     "song" : "lovegame" 
    }, 
    { 
     "name" : "ladygaga" 
     "song" : "lovegame" 
    }, 
    { 
     "name" : "ladygaga" 
     "song" : "pokerface" 
    }, 
    { 
     "name" : "ladygaga" 
     "song" : "alejandro" 
    }, 
    { 
     "name" : "fergie" 
     "song" : "fergalicious" 
    }, 
    { 
     "name" : "fergie" 
     "song" : "clumsy" 
    }, 
    etc etc 

을 그래서 이것을 달성 할 수있는 방법이 있습니까?

답변

1

var random = Math.floor(Math.random() * jsonObject.length); 
var rData = jsonObject[random]; 

P.S.을 :) 시도 : jsonObject ist 귀하의 데이터 속성입니다.

0

여기에 어떻게 접근 할 수 있습니다. PLUNKER

$(document).ready(function() { 

    $('button').on('click', function() { 
     getRandom(); 
     var html = template(context); 
     $('#artistlist').html(html); 
    }); 

    var source = $("#entry-template").html(); 
    var template = Handlebars.compile(source); 

    var musicArray = [{ 
     "name": "rihanna", 
     "song": "pour it up" 
    }, { 
     "name": "rihanna", 
     "song": "diamonds" 
    }, { 
     "name": "ladygaga", 
     "song": "lovegame" 
    }, { 
     "name": "ladygaga", 
     "song": "lovegame" 
    }, { 
     "name": "ladygaga", 
     "song": "pokerface" 
    }, { 
     "name": "ladygaga", 
     "song": "alejandro" 
    }, { 
     "name": "fergie", 
     "song": "fergalicious" 
    }, { 
     "name": "fergie", 
     "song": "clumsy" 
    }]; 


    var context = { 
     music: [] 
    }; 

    var musicClone = $.extend(true, [], musicArray); 

    function getRandom() { 
     var i = 2; 
     while (i-- && musicClone.length >= 1) { 
      var random = Math.floor(Math.random() * musicClone.length); 
      var data = musicClone[random]; 
      context.music.push(data); 
      musicClone.splice(random, 1); 
     } 
    } 

}); 
+0

그게 아주 좋은! 좋아, 그럼 도우미에 추가해야합니까? 그렇다면 어떻게 등록 도우미에서 json을 가져 옵니까? – Steve

+0

등록 도우미가 필요하지 않습니다. –

관련 문제