使用JSON更改返回的数组的列顺序

时间:2011-12-09 16:10:50

标签: jquery json

我正在使用JSON来获取数据。

发生了什么JSON-P改变了列的顺序并按字母顺序排列。

JSON是:

[{ "Grade"="pv" , "ID" = 1 , "Name" = "test" }]

但我实际上是先发送ID。

获得此JSON后,我使用以下行:

 var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;

然后我即将把这个数组转换为HTML表。

但是当我粘贴HTML标签时,我想首先显示列ID,依此类推。 (意味着我可以使用jquery配置哪个列首先显示)。

我怎样才能有效地做到这一点?

问题被重写,因为很多用户由于缺乏沟通技巧而无法理解我的问题

Eaxmple :(无论我得到什么格式都没关系,但使用Jquery我怎么能硬编码哪个列首先显示)

就像更改数组列顺序

一样

由于

4 个答案:

答案 0 :(得分:3)

JSON中的对象所代表的数据没有固有的顺序,因此您无法依靠JSON来维护无序对象的订单。如果订单很重要,但是任意,最好的办法是使用一个有序的对象(如数组)来存储数据。

// documentation says first element is always id, second grade, third name
[[1, "pv", "test"], …]

除此之外,您可以在数组中保留并排索引,以帮助您恢复订单。

[{
    "ordering": ["ID", "Grade", "Name"],
    "ID": 1,
    "Grade": "pv",
    "Name": "test"
}]

答案 1 :(得分:2)

JSON无法做到这一点。正如JSON specification所解释的那样:

  

对象是一组无序的名称/值对

答案 2 :(得分:1)

如果您正在寻找特定的事物顺序,那么您应该将它们存储为数组中的单独对象

[{name:"Grade",value:"pv"}, {name:"ID",value:1},{name:"Name",value:"test"}]

答案 3 :(得分:0)

你正在混合“对象”和“数组”。你在这里有一个JSON对象数组。数组可以使用.sort()进行排序。