2013-04-04 72 views
0

這是我的JSON:遍歷JSON結果和排序按數字順序

{"event": { 
"items": [ 
      {"position": "2", "name": "John Doe 1"}, 
      {"position" : "1", "name": "John Doe 2"}, 
      {"position": "3", "name": "John Does 3"} 
      ] 
     } 

這是我如何遍歷結果讀取JSON結果後:

$.each(data.event.items, function(val) { 
$('#list').append('<li>'+data.event.items[val].name+'</li>'); 
}); 

現在的順序是: John Doe 1,John Doe 2,John Doe 3.我想循環它們並按照已經給出的位置順序顯示它們。所以正確的命令是John Doe 2,John Doe 1,John Doe 3.

我該如何實現這個目標?

回答

5

您可以建立顯示在你的項目進行排序:

data.event.items.sort(function(a,b) { 
    return a.position-b.position;   
}); 

Demonstration(點擊「與JS運行」)

請注意,在你的問題沒有JSONdata是一個普通的JavaScript目的。

+0

謝謝你,這是一個簡單的答案,我wounder我沒有想到這樣的事情我自己。我簡化了我的代碼,這是JSON ... – 2013-04-04 07:10:57

4

您需要將項目第一排序:

data.event.items.sort(function(item_a, item_b) { 
    return item_a.position - item_b.position; 
});