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
Post a Comment