Jquery jqGrid和JSON阅读器

Jquery jqGrid和JSON阅读器,jquery,json,jqgrid,Jquery,Json,Jqgrid,我对jQuery相当陌生,刚刚开始使用jqGrid。我查看了jqGrid文档,以了解如何在网格中以JSON格式显示我收到的一些数据,但没有结果。当我创建网格时,它会显示正确的标题、寻呼机信息等,并通过Firebug显示,我可以看到JSON数据的请求和响应。下面的jsonReader是我尝试过的许多函数之一,在函数回调中,我可以记录我收到的特定值,这样我就知道我得到了数据 对于我来说,将下面指定的JSON加载到jqGrid中的正确方法是什么 以下是相关代码: HTML: <div id="d

我对jQuery相当陌生,刚刚开始使用jqGrid。我查看了jqGrid文档,以了解如何在网格中以JSON格式显示我收到的一些数据,但没有结果。当我创建网格时,它会显示正确的标题、寻呼机信息等,并通过Firebug显示,我可以看到JSON数据的请求和响应。下面的jsonReader是我尝试过的许多函数之一,在函数回调中,我可以记录我收到的特定值,这样我就知道我得到了数据

对于我来说,将下面指定的JSON加载到jqGrid中的正确方法是什么

以下是相关代码:

HTML:

<div id="dataInfo">
    <table id="dataTable"></table>
    <div id="dataTablePager"></div>
</div>

您的主要问题是jsonReader中的一些小更改。例如,它可以是

jsonReader: {
    root: 'ipInfo.ipResponses',
    id: 'startIP',
    repeatitems: false,
    page:  function(obj) { return 1; },
    total: function(obj) { return 1; },
    records: function(obj) { return obj.ipInfo.ipResponses.length; },
}

同一个jqGrid,有一些装饰性的变化,你可以在下面看到。

太棒了!我知道我必须离得很近。非常感谢。我还有一个问题。我在ipInfo对象中有另一个具有类似数据的对象,但它不在数组中。基本上,它是每个ipInfo对象中的一个对象(称为newObj:{x:10,y:10}),我将返回许多ipInfo对象。它显然必须是一个数组,所以我将根改为根:函数(obj){return[obj.ipInfo.newObj];}它起作用了。再次感谢您的帮助。@RC:一般来说,最好在服务器端生成专门用于jqGrid的JSON数据。如果不可能,在大多数情况下可以对
jsonReader
的数据进行解码。如果您发布JSON数据的确切示例,请使用colModel并解释您希望在哪一列中放置哪些信息,我可以向您建议相应的解决方案。为了有更多的位置(对于问题和答案),在新问题中这样做可能更容易。是的,我可能应该在我的应用程序的控制器中格式化它以返回网格。我会尝试一下,如果我有更多的问题,我会在这里发布一个新的问题和评论,这样你就可以尝试一下了。再次感谢。
{
    "ipInfo": { 
        "queryStartIP": "4.4.4.0", 
        "queryEndIP": "4.4.4.256", 
        "ipResponses": [
            { "startIP": "4.4.4.1", "endIP": "4.4.4.5"},
            { "startIP": "4.4.4.10", "endIP": "4.4.4.15"}
        ]
    }
}
jsonReader: {
    root: 'ipInfo.ipResponses',
    id: 'startIP',
    repeatitems: false,
    page:  function(obj) { return 1; },
    total: function(obj) { return 1; },
    records: function(obj) { return obj.ipInfo.ipResponses.length; },
}