JSON.parser()的问题,求大神们支招....
发布于 7个月前 作者 flybears 423 次浏览

JSON.parser()解析的时候按照数字大小进行自动排序…我想按照源数据排序。怎么弄… 比如: 源数据"data":{"70":24442,"7080":106,"7000":45,"71":29,"7088":18,"7081":13,"72":13,"543":12,"7080":12,"9080":12} 解析之后: data: { '70’: 24462, '71’: 29, '72’: 13, '543’: 12, '6080’: 12, '7000’: 45, '7080’: 106, '7081’: 13, '7088’: 18, '9080’: 12 }

8 回复

当然得自己排了,不要告诉我你不会写排序。。

var obj = JSON.parse(data);
var arr = [];
for(var key in obj){
    arr.push(obj[key]);
}
//之后再排序

你是要保持源数据的排序吧?

能改源数据,就把data改成一个对象数组;不能改源数据,就写一个自己的JSON parser。

好奇:保持顺序的意义是什么?

@bnuhero 其实后台返回给我的数据已经做好排序了直接显示就可以了…但是解析之后排序乱了…

@struCoder 额…这个我想到过…

@coofly 后台返回给我的数据已经做了排序…但是我这边解析的时候把排序打乱了…我发现key如果不是数字的话,就会安装后台返回给我的数据进行排序…

@flybears 那就让后台返回一个对象数组给你不行吗?例如,

"data": [
{'70': 24463},
{'71': 29},
{'72': 13},
{ '7088': 18},
{ '9080': 12}
]

JSON键值对是无序的,排序信息另外进行处理

回到顶部