如何停止json数据自动排序在谷歌浏览器

How to stop json Data to automatically sorting in Google Chrome?

本文关键字:排序 谷歌浏览器 何停止 json 数据      更新时间:2023-09-26

Jquery + Rails 4

<script>
 var jsonData = {
  "81404": "Object",
  "81408": "Object",
  "81416": "Object",
  "80387": "Object",
  "73952": "Object",
  "74697": "Object",
  "81411": "Object",
  "74700": "Object"
 };
console.log(jsonData);
</script>

Mozilla输出(正确的,预期的)

Object { 81404="Object", 81408="Object", 81416="Object", 80387="Object", 73952="Object", 74697="Object", 81411="Object", 74700="Object"}

Chrome输出(错误,??)

Object {73952: "Object", 74697: "Object", 74700: "Object", 80387: "Object", 81404: "Object", 81408: "Object", 81411: "Object", 81416: "Object"}

如何解决这个自动排序问题在Chrome有任何建议帮助…

我用这个数据来过滤,顺序是重要的。

您的数据不是数组。它没有内在的秩序。它们只是对象的属性。

来自this Reference


4.3.3对象对象是object类型的成员。是一个无序的属性集合,每个属性都包含一个基本值、对象或函数。

如果顺序很重要,将它们放在JSON对象的数组属性中(或者直接使用数组!)

。比如:

var jsonData = {data: [
    {"81404": "Object"},
    {"81408": "Object"},
    {"81416": "Object"},
    {"80387": "Object"},
    {"73952": "Object"},
    {"74697": "Object"},
    {"81411": "Object"},
    {"74700": "Object"}]
 };
console.log(jsonData);

或仅用于列表

console.log(jsonData.data);

解释你对数据做了什么会很有帮助,这样任何例子都更适用。