对json格式数据进行排序
javascript是弱类型的语言,系统在遍历json数据是会自行判断数据类型进行排序,如下:
<script src="jquery.js"></script>
<script>
var json1 = {
"2":{"name":"第1条"},
"1":{"name":"第2条"},
"3":{"name":"第3条"}
}
var json2 = {
"2_str":{"name":"第1条"},
"1_str":{"name":"第2条"},
"3_str":{"name":"第3条"}
}
$.each(json1, function(i,item){
alert(i+":"+item.name);
});
$.each(json2, function(i,item){
alert(i+":"+item.name);
});
</script>
如何对json数据按照指定的排序方式进行排序:
<script src="jquery.js"></script>
<script type="text/javascript">
var json = {"languages": [
{"id": "1", "name": "PHP", "sort": "1"},
{"id": "2", "name": "JACSCRIPT", "sort": "3"},
{"id": "3", "name": "PYTHON", "sort": "4"},
{"id": "4", "name": "NODE.JS", "sort": "2"}
]};
//排序前
$.each(json.languages, function(i) {
alert(json.languages[i].id+" " +json.languages[i].name+" sort:"+json.languages[i].sort);
});
//进行排序
json["languages"].sort(function(a,b){
return a["sort"] > b["sort"] ? 1 : (a["sort"] == b["sort"] ? 0 : -1);
});
//排序后
$.each(json.languages, function(i) {
alert(json.languages[i].id+" " +json.languages[i].name+" sort:"+json.languages[i].sort);
});
</script>
主要是利用javascript的sort方式将数据按照指定方式排序。