javascript - jQuery parseJSON not keep order of json keys -


json string:

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

jquery.parsejson result:

{detail:{10:"-", 11:"-", 12:"-", '01':0, '02':0, '03':0, '04':0, '05':"-", '06':"-", '07':"-", '08':"-", '09':"-"}} 

i not know why parsejson changes order of keys (10, 11, 12, 01, 02,... instead of 01,02,03,...). how can keep order in case?

i not know why parsejson changes order of keys (10, 11, 12, 01, 02,... instead of 01,02,03,...).

most browsers iterate on properties in following order:

  • integer indexes(*) in ascending order
  • strings in creation order

*: positive 32-bit integer considered integer index

however, is implementation specific , not required language standard. there environments have different behavior.

(related: does es6 introduce well-defined order of enumeration object properties?)

so 10, 11, 12 listed first because integers. 01, 02, etc following because treated strings.

how can keep order in case?

you cannot. have use array, should rather trivial in case since keys consecutive numbers.


Comments

Popular posts from this blog

apache - PHP Soap issue while content length is larger -

asynchronous - Python asyncio task got bad yield -

javascript - Complete OpenIDConnect auth when requesting via Ajax -