排序基本的json对象

时间:2013-02-22 09:15:19

标签: javascript json sorting

我有一个非常简单的json对象,

{
   "costA": 9617,
   "costB": 11100,
   "costC": 13208,
   "costD": 9910
}

是否可以对此json(在javascript中)进行排序以获得结果?

{
   "costA": 13208,
   "costB": 11100,
   "costC": 9910,
   "costD": 9617
}

注意:key名称可以更改..

1 个答案:

答案 0 :(得分:0)

以下JavaScript会显示您所追求的结果:{costA: 13208, costB: 11100, costC: 9910, costD: 9617}

var obj = JSON.parse('{"costA": 9617, "costB": 11100, "costC": 13208, "costD": 9910}');
var values = [], keys = [], key, i;
for (key in obj) {
    keys.push(key);
    values.push(obj[key]);
}
values.sort(function (a, b) { return b-a; });
keys.sort();
for (i = 0; i < keys.length; ++i) {
    key = keys[i];
    val = values[i];
    obj[key] = val;
}

console.log(obj);

另见fiddle