Jquery Data表可以读取不同格式的json吗?

时间:2013-01-08 19:04:24

标签: javascript jquery json datatables

我正在使用jQuery dataTables进行网格(http://www.datatables.net/)。

但是我的json的格式与dataTables docs中包含的json示例不同。 dataTables是否可以解释json中的格式?

他们的json看起来像这样

 {"aaData": [
 [
  "Trident",
  "Internet Explorer 4.0",
  "Win 95+",
  "4",
  "X"
  ],
 [
  "Trident",
  "Internet Explorer 5.0",
  "Win 95+",
  "5",
  "C"
 ]  
 ]  
 }

我的JSON看起来像这样,不幸的是我无法将其更改为看起来像他们的文档中包含的示例。

"allconfig": {
    "card.inserted": {
        "value": "Not Inserted",
        "type": "enum",
        "range": "",
        "clone": false,
        "archive": false,
        "access": "R"
    },
    "card.cisproc": {
        "value": "Processed",
        "type": "string",
        "range": "",
        "clone": false,
        "archive": false,
        "access": "R"
    }
    }
    }

这是我的jQuery

  $(document).ready(function() {
  $('#example').dataTable( {
    "bProcessing": true,
    "sAjaxSource": 'json/test.json'
  });
   });

1 个答案:

答案 0 :(得分:1)

您可以将json格式更改为所需格式。

使用

  $.getJSON('json/test.json', function(data) {
  var newJson = [];
    var myJson = data ;
    $.each(myJson.allconfig, function (key, value) {
        var rowArray = [];
        rowArray.push(key);
        $.each(myJson.allconfig[key], function (key1, value1) {
            rowArray.push(value1);
        });
        newJson.push(rowArray);
    });
  $('#example').dataTable( { "bProcessing": true, "aaData":newJson  });
});

检查http://jsfiddle.net/JASdL/