如何从Javascript解析JSON时维护顺序?
问题描述:
我发送我的页面的数据以JSON编码,使用Javascript解析,然后使用循环显示在HTML SELECT元素中。数据到达已经排序,但我在解码JSON字符串时保持正确顺序的问题,这会使应用于数据的排序无效。如何从Javascript解析JSON时维护顺序?
的样本数据:{"test":{"4":"first","5":"second","3":"third"}}
使用jQuery的JSON解析器和Javascript的eval()函数,我得到的结果如下:
{"test":{"3":"third","4":"first","5":"second"}}
这是不可能修改数据的格式和键(“4”,“5”,“3”)必须保持相同的顺序。真实的数据要复杂得多,但这个例子很好地说明了我的问题。
当从Javascript解析它时,如何维护JSON数据的顺序?
当您使用属性(对象字面量)时,您不应该依赖订单。只有数组(在JavaScript和JSON中)保持顺序。 – 2012-04-05 19:20:08
让我困扰的是,http://json.parser.online.fr/上的自定义JSON解析器工作得很好。可悲的是,我无法修改数据的格式,或者我会使用数组。 :( – Wolf 2012-04-05 19:21:33
你应该抱怨谁做这个数据,他们做了一个糟糕的工作设计JSON表示。如果订单是重要的一个对象不应该使用。 – Phrogz 2012-04-05 19:25:32