2014-12-15 12 views
11

To jest przykład mojego pliku JSON.Pierwsze 10 wartości w pliku JSON

[ 
    {"Variable":"Hello","Variable1":20}, {"Variable":"Hi","Variable1":30}, 
    {"Variable":"How","Variable1":40}, {"Variable":"Who","Variable1":50}, 
    {"Variable":"Where","Variable1":60}, {"Variable":"This","Variable1":100}, 
    {"Variable":"Pork","Variable1":10}, {"Variable":"Creep","Variable1":90}, 
    {"Variable":"Mega Creeps","Variable1":80}, {"Variable":"LOL","Variable1":0}, 
    {"Variable":"ROFL","Variable1":0}, {"Variable":"LMAO","Variable1":0}, 
    {"Variable":"POP","Variable1":0}, {"Variable":"LOVE","Variable1":0}, 
    {"Variable":"PICK","Variable1":0}, {"Variable":"WHIZ","Variable1":0}, 
    {"Variable":"BORED","Variable1":0}, {"Variable":"KILLAH","Variable1":0}, 
    {"Variable":"LOLLING","Variable1":0}, {"Variable":"HALOO HALOO","Variable1":0} 
] 

Jak mogę uzyskać tylko Top 10 z najwyższego numeru Variable1? Ale przejdzie plik JSON w tym samym formacie.

Odpowiedz

12

pierwsze, analizowania JSON na tablicę obiektów:

var data = JSON.parse(json); 

następnie połączyć sort i slice, aby osiągnąć swój cel:

var top10 = data.sort(function(a, b) { return a.Variable1 < b.Variable1 ? 1 : -1; }) 
       .slice(0, 10); 

Zobacz Array.sort

+0

W porównaniu występuje literówka. Powinien być '' a.Variable1> b.Variable1'' – LongZheng

3

Można to zrobić z Alasql Biblioteka JavaScript. Pobiera plik json, analizuje go i uruchamia na nim instrukcję SQL . To jest przykład jak zrobić top 10 bezpośrednio z pliku JSON:

<script src="alasql.min.js></script> 
<script> 
    alasql("SELECT TOP 10 * FROM JSON('mydata.json') ORDER BY Variable1 DESC",[], function(top10){ 
     console.log(top10); 
    }); 
</script> 

Lub jeśli masz już dane w pamięci:

var data = [{"Variable":"Hello","Variable1":20},{"Variable":"Hi","Variable1":30}]; 
    var res = alasql("SELECT TOP 10 * FROM ? ORDER BY Variable1 DESC",[data]); 

Spróbuj this sample w jsFiddle.

+0

jest jakiś sposób osiągnięcia tego przy pomocy php ?? – Maverick

Powiązane problemy