从Javascript解析JSON时如何维护顺序?

Wol*_*olf 12 javascript json

我发送页面的数据用JSON编码,使用Javascript解析,然后使用循环显示在HTML SELECT元素中.数据到达已经排序,但是我在解码JSON字符串时遇到了保持正确顺序的问题,这使得对数据应用的排序无效.

样本数据: {"test":{"4":"first","5":"second","3":"third"}}

使用jQuery的JSON解析器和Javascript的eval()函数,我得到以下结果:

{"test":{"3":"third","4":"first","5":"second"}}

无法修改数据格式,键("4","5","3")必须保持相同的顺序.真实的数据要复杂得多,但这个样本很好地说明了我的问题.

从Javascript解析JSON数据时,如何维护JSON数据的顺序?

CD.*_*D.. 10

如果要保留订单,请使用数组.这应该是在javascript中维护订单的唯一方法.

  • 这真的不是答案。从技术上讲,JSON 对象是未排序的,但许多人希望保留其当前顺序。 (3认同)
  • @Wolf然后你需要亲自手工解析它,除了存储属性顺序的数据外,还要保留一个数组.JavaScript根本不保证对象的属性的迭代顺序. (2认同)