CNode

JSON.parser()的问题,求大神们支招....

Fflybears发布于12 年前最后回复12 年前8 回复7038 浏览0 收藏

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)

C
coofly#1·12 年前

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

S
struCoder#2·12 年前
var obj = JSON.parse(data);
var arr = [];
for(var key in obj){
    arr.push(obj[key]);
}
//之后再排序
B
bnuhero#3·12 年前

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

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

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

F
flybears#4·12 年前
F
flybears#5·12 年前
引用 struCoder

@struCoder 额...这个我想到过...

F
flybears#6·12 年前
引用 coofly当然得自己排了,不要告诉我你不会写排序。。

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

B
bnuhero#7·12 年前
引用 bnuhero你是要保持源数据的排序吧? 能改源数据,就把data改成一个对象数组;不能改源数据,就写一个自己的JSON parser。 好奇:保持顺序的意义是什么?

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

"data": [
{'70': 24463},
{'71': 29},
{'72': 13},
{ '7088': 18},
{ '9080': 12}
]
R
ravenwang#8·12 年前

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

参与回复
登录后即可参与回复。登录