【发布时间】:2012-06-10 00:10:53
【问题描述】:
首先这不是重复的问题。我已经查看了一些类似的问题,大部分答案都是我现在正在使用的。
这是设置的问题, 在 PHP 方面
$array = array('name' => 'a', 'data' => array('0'=>15,'0.25'=>'18','0.35'=>19,'1' =>20));
echo json_encode($array);
在 JS 方面
数据 = $.parseJSON(数据); // 数据是 php 脚本的返回值 以上
如您所见,$array['data'] 是一个关联数组,以数字为键并按顺序排序。在解析为 JSON 时,javascript 更改了该数组的顺序并将 0 和 1 排序为数字键并将它们放在对象的头部。
我知道这是某些浏览器(例如 chrome 和 IE9)的标准行为。 如果我想保持数组的顺序,我已经读过人们建议严格坚持使用数组的地方。 但我的问题是你如何将一个数组从 PHP 反馈到 javascript 作为一个数组而不是使用 json 对象?或者是否有其他解决此类问题的方法。感谢您提前输入。
感谢您提前输入
【问题讨论】:
-
Afaik,JSON 解析器在解码时不保证任何顺序,您需要使用另一个字段(或数组)来保留您的顺序,使用键不起作用。
标签: php javascript arrays json