Javascript jqGrid json格式

Javascript jqGrid json格式,javascript,jqgrid,Javascript,Jqgrid,我目前正在使用ajax读取数据,并使用获取的数据使用以下代码构建jqGrid: $.getJSON(url, function (data) { createGrid(data); }); function createGrid(data) { debugger; $("#gridCot").jqGrid( { datatype: "local", data: data.data, colNames: dat

我目前正在使用ajax读取数据,并使用获取的数据使用以下代码构建jqGrid:

$.getJSON(url, function (data) 
{
    createGrid(data);
});

function createGrid(data) 
{
    debugger;

    $("#gridCot").jqGrid(
    {
        datatype: "local",
        data: data.data,
        colNames: data.columnNames,
        colModel: data.columnModel,
        pager: "#pager",
        rownumbers: true,
        rowList: [10, 30, 50, 100, 200],
        rowNum: 50,
        height: 'auto',
        autowidth: true,
        height:600,
        shrinkToFit: false,
        loadonce: true,
        caption: "Test"
    });
}
这非常有效(除非后续调用不会更新网格)我的一个问题是,如何在下次将“数据”传递到网格,这样就不必每次都创建它?(由于loadonce属性的原因,当前网格没有创建,也没有使用新数据更新)

我想更改上述内容以允许网格本身进行调用,因此我执行了以下操作:

$("#gridCot").jqGrid(
{
    url: serviceURL,
    datatype: "json",
    pager: "#pager",
    rownumbers: true,
    height: 'auto',
    width: '100%',
    loadonce: true,
    caption: "test",
    jsonReader: 
    {
        colNames: "columnNames",
        colModel: "columnModel",
        data: "data"
    }
});
但是,这将渲染没有列或数据的网格。我的问题是,json格式是否必须遵循特定的格式?我喜欢colModel的想法,因为它意味着我不需要对数据进行太多的后期处理,因为我返回了很多列,所以这会更快。使用第一种方法,我的数据基本上被序列化为一个字典数组(名称、值)这可以通过第二种方法实现,而不必进一步“按摩”我返回页面的数据吗?

谢谢