按jquery键值排序json

时间:2012-12-03 10:00:43

标签: jquery json sorting key

  

可能重复:
  Sorting a JavaScript object

我有像这样的json数据

[
  {
    "name":"anand",
    "type":"0"
  },
  {
    "name":"bajaj",
    "type":"0"
  },
  {
    "name":"cat",
    "type":"1"
  }
]

我在带有标题,名称和类型的表中填充这些数据。

我已将这些数据存储在javascript全局数组中。现在我必须对该全局数组进行排序 根据关键。

例如,当我点击名称时,它必须根据名称进行排序,并且类型相同。

我尝试了很多东西,但它给出的排序不是函数错误。

var data_obj= [];  // declared a global variable 

 $.ajax({url: url,
         type:"post",
         data: "folder="+folder,
         success: function(data){
             data_obj = data // here i store returned json data in a global variable 
         }  
 });

一个简单的排序函数

 data_obj.sort(function(a, b){
     return [a.name] < [b.name] ? -1 : 1;
 });

但它给了我排序不是一个功能。请帮我按键排序。

1 个答案:

答案 0 :(得分:1)

据推测,服务器正在使用错误的Content-Type发送JSON(编写PHP的人常常忘记使用header('Content-Type: application/json');覆盖默认的HTML内容类型。)

这会导致data成为HTML DOM,而不是从JSON中膨胀的数组,因此它不会有sort方法。