Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 jQuery parseJSON不保持json键的顺序_Javascript_Jquery_Json - Fatal编程技术网

Javascript jQuery parseJSON不保持json键的顺序

Javascript jQuery parseJSON不保持json键的顺序,javascript,jquery,json,Javascript,Jquery,Json,Json字符串: "{"detail":{"01":0,"02":0,"03":0,"04":0,"05":"-","06":"-","07":"-","08":"-","09":"-","10":"-","11":"-","12":"-"}}" jQuery.parseJSON结果: {detail:{10:"-", 11:"-", 12:"-", '01':0, '02':0, '03':0, '04':0, '05':"-", '06':"-", '07':"-", '08':"-",

Json字符串:

"{"detail":{"01":0,"02":0,"03":0,"04":0,"05":"-","06":"-","07":"-","08":"-","09":"-","10":"-","11":"-","12":"-"}}"
jQuery.parseJSON结果:

{detail:{10:"-", 11:"-", 12:"-", '01':0, '02':0, '03':0, '04':0, '05':"-", '06':"-", '07':"-", '08':"-", '09':"-"}}
我不知道为什么parseJSON会更改键的顺序(10、11、12、01、02等,而不是01、02、03等)。在这种情况下,我如何维持秩序

我不知道为什么parseJSON会更改键的顺序(10、11、12、01、02等,而不是01、02、03等)

大多数浏览器按以下顺序迭代属性:

  • 整数索引(*)的升序
  • 按创建顺序排列的字符串
*:正32位整数被视为整数索引

但是,它是特定于实现的,不是语言标准所要求的。可能存在行为完全不同的环境

(相关:)

所以
10
11
12
列在前面,因为它们是整数
01
02
等都在后面,因为它们被视为字符串

在这种情况下,我如何维持秩序


你不能。您必须使用一个数组,这在您的情况下应该很简单,因为您的键基本上是连续的数字。

答案很简单。。。。对象没有顺序。如果顺序和排序很重要,请使用数组查找支持@charlietfl评论的内容。。谢谢,@charlietfl,gurupasad RaoI知道我的问题。非常感谢你,菲利克斯·克林。