我在后端形成 json:
$conditions = json_encode(array(
'3' => array('three'),
'2' => array('two'),
'1' => array('one'),
));
我保存在页面元素的属性中:
<div id="data" data-value="{"3":["three"],"2":["two"],"1":["one"]}">
数组元素的顺序被保留。但是当我在 javascript 中读取这个 json 时,我得到一个按键排序的对象。可以以某种方式避免这种情况,还是按照我想要的顺序更改原始数组的键的唯一选择?
<script>
console.log(data.dataset.value);
// Object { 1: Array[1], 2: Array[1], 3: Array[1] }
</script>
关联数组(字典)的元素顺序在 JSON 中没有定义。摘自RFC 4627
因此,您需要自己保留订单。