
用 js 原生写的 ajax ,获取到一个数据列表,顺序是正常的
xmlHttp.responseText 这里的顺序是正常的
但是当我将 json 字符串转换为 json 对象的时候,顺序就不是原先的顺序了
var json = eval('(' + xmlHttp.responseText + ')');
请问有啥办法转换完之后还是原先输出的顺序。
1 QAPTEAWH 2017-04-18 14:09:48 +08:00 object 不保证顺序,请使用 array |
2 xss 2017-04-18 14:09:49 +08:00 hash 表本身就是无序的. 你如果想有序, 再加个数组记录你想输出的 key 顺序吧. |
3 U7Q5tLAex2FI0o0g 2017-04-18 14:13:05 +08:00 ajax 的参数加一个 type: 'json' 服务端数据返回 json 这样 ajax 的结果不用人为的再转 json 试试看 |
4 U7Q5tLAex2FI0o0g 2017-04-18 14:13:57 +08:00 #3 修正 是 dataType: 'json' |
5 dashixionglihai OP 问题已经解决了,是我的后台返回的数据存在问题,我把 id 当作了 key ,转换的时候按照 id 从小到大的顺序排列了。 |