Sho*_*pte 5 javascript jquery json
如何按名字对这个 JSON 对象进行排序?
{
1 :{user_id:1, first_name:"first_name1", last_name:"lastname1", email:"user1@test.com"},
7 :{user_id:7, first_name:"user2", last_name:"test2", email:""},
72 :{user_id:72, first_name:"testing343", last_name:"", email:""},
246:{user_id:246, first_name:"aaa", last_name:"ssss", email:""}
}
Run Code Online (Sandbox Code Playgroud)
首先,您的JSON 字符串无效。首先清除这一点,您被迫使用eval()当前形式的字符串,这JSON.parse()是行不通的。
对象键按规范无序。您无法静态地“排序”键名并将它们冻结在对象中。但是您当然可以对键名进行排序并按该顺序对其值进行操作。
例如:
var json = '{1:{user_id:1, first_name:"first_name1", last_name:"lastname1", email:"user1@test.com"}, 7:{user_id:7, first_name:"user2", last_name:"test2", email:""}, 72:{user_id:72, first_name:"testing343", last_name:"", email:""}, 246:{user_id:246, first_name:"aaa", last_name:"ssss", email:""}}';
json = eval( json );
Object.keys( json ).sort(function( a,b ) {
return json[a].first_name.localeCompare( json[b].first_name );
}).forEach(function( key ) {
console.log( json[key].first_name );
});
Run Code Online (Sandbox Code Playgroud)
该代码假定支持 ES5 的 JS 引擎或任何类型的 ES5-shim 库可用。
| 归档时间: |
|
| 查看次数: |
13783 次 |
| 最近记录: |