我正在尝试使用从服务器返回的JSON数据填充jqgrid。
以下是我的jqgrid配置代码 -
$(document).ready(function(){
jQuery("#list4").jqGrid({
jsonReader : {
repeatitems: false,
id: "0"
},
url:'/data/scans',
datatype:'json',
colNames:['Scan ID','Scanned Machine', 'Begin Time', 'End Time'],
colModel:[
{name:'scanId',index:'scanId', width:100, jsonmap:"scanId"},
{name:'scannedMachine',index:'scannedMachine', width:150, jsonmap:"scannedMachine"},
{name:'beginTime',index:'beginTime', width:180,jsonmap:"beginTime"},
{name:'endTime',index:'endTime', width:180,jsonmap:"scanId"}
],
rowNum:10,
rowList:[10,20,30],
pager: '#pager4',
sortname: 'scanId',
viewrecords: true,
sortorder: "desc",
caption:"JSON Example"
});
jQuery("#list4").jqGrid('navGrid','#pager4',{edit:false,add:false,del:false});
从服务器返回的JSON数据如下所示 -
{ total: '1',
page: '1',
records: '2',
rows:[
{scanId:"123", scannedMachine:"Axbhad", beginTime:"Fri Apr 13 13:02:52 IST 2018", endTime:"Fri Apr 13 13:02:52 IST 2018"},
{scanId:"123", scannedMachine:"Axbhad", beginTime:"Fri Apr 13 13:02:52 IST 2018", endTime:"Fri Apr 13 13:02:52 IST 2018"}]}
有人可以指出我做得不对的是什么。
答案 0 :(得分:1)
我已经开始工作了。我所做的只是正确标点了JSON字符串。 现在看起来像这样-
{ "total": "1", "page": "1", "records": "2", "rows":[ {"scanId":"123", "scannedMachine":"Axbhad", "beginTime":"Fri Apr 13 17:17:30 IST 2018", "endTime":"Fri Apr 13 17:17:30 IST 2018"}, {"scanId":"124", "scannedMachine":"Axbhad", "beginTime":"Fri Apr 13 17:17:30 IST 2018", "endTime":"Fri Apr 13 17:17:30 IST 2018"}]}.
为了避免犯这样愚蠢的错误,我使用了如下的GSON libabry-
@Override
public String toString() {
return new Gson().toJson(this);
}