Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
迭代JavaScript JSON对象-Chrome/Opera下一个反向-FireFox/Safari OK_Json_Google Chrome_Firefox_Loops - Fatal编程技术网

迭代JavaScript JSON对象-Chrome/Opera下一个反向-FireFox/Safari OK

迭代JavaScript JSON对象-Chrome/Opera下一个反向-FireFox/Safari OK,json,google-chrome,firefox,loops,Json,Google Chrome,Firefox,Loops,首先看看这里,谷歌浏览器,然后是火狐: 注意数字的顺序 JSON示例: { "3259341": { "datum": "2013-07-23 14:55:00", "titel": "Open Space" }, "3259609": { "datum": "2013-07-23 14:50:00", "titel": "Something else" }, "325740

首先看看这里,谷歌浏览器,然后是火狐: 注意数字的顺序

JSON示例:

{
     "3259341": {
         "datum": "2013-07-23 14:55:00",
         "titel": "Open Space"
     },
     "3259609": {
         "datum": "2013-07-23 14:50:00",
         "titel": "Something else"
     },
     "3257403": {
         "datum": "2013-07-23 14:45:00",
         "titel": "High-Tech"
     }
 }
如果我尝试使用Chrome或Opera Next(WebKit)对JSON对象进行迭代 “for in”在JSON属性上反向运行。FireFox或Safari(桌面或iOS)运行正常,顺序正确


有没有一种方法可以像FireFox那样像预期的那样实现呢?

JSON对象是无序的名称/值对集,您不能(也不应该!)依赖于任何特定的元素顺序。

在哈希映射上迭代时,顺序是不保证的……有没有办法强制它?没有分类过吗?没有。如果你想强制执行一个命令,添加一个额外的字段来定义键的顺序。这很有趣,因为Android 2.3.3浏览器的迭代是正确的,而Android 4.2.2没有。所以Safari而不是Chrome也是如此。关键是没有“正确的”…如果你想要一个一致的订单,你应该接受Rob W的建议,添加一个字段来存储你喜欢的订单…现在我发现这个:。所以我必须用一个数组对它进行排序。是的,那么您将拥有一个json对象数组。但是如何在数组中存储这些对象呢?你真的应该考虑只增加一个“订单”字段,它会让生活变得更容易:“你说得对,我的意思是我必须用我想要的一个属性来订购它。因此,在这种情况下,我将选择日期。这样做太浪费时间了。我只想通过AJAX加载它,并对键进行迭代,仅此而已。