我有一个Spring控制器方法正确地将JSON中的对象集合返回给客户端:
@RequestMapping(value="/admin/rawreads/unknowntags", method=RequestMethod.GET)
public @ResponseBody Collection<RawRead> getRawReadsWithUnknownTag() {
....
}
我正在尝试集成一个名为DataTables的jQuery插件/插件。 DataTables可以处理异步请求以获取数据并为我填充页面中的表,但是它需要在具有特定名称“aaData”的数组中返回数据,而不是当前格式:
[{"oid":149452,"date":1233076733000,"readerId":"811210008","recordNo":226,"tagCode":"0103A003C0","reader":null,"guard":null,"checkpoint":null},{"oid":149453,"date":1233076734000,"readerId":"8112100 .... etc]
DataTable文档中DataTables的建议返回格式:
{
"sEcho": 1,
"iTotalRecords": "n",
"iTotalDisplayRecords": "n",
"aaData": [
[object1][object2].... etc
]
}
如何更改我的Java方法以DataTables需要的格式返回数据 - 命名数组?
编辑: 尝试将vars放入HashMap服务器端,更接近我需要的东西:
{"iTotalDisplayRecords":3050,"iTotalRecords":3050,"aaData":
[{"oid":149452,"date":1233076733000, ...<snip>},{...}]
}
答案 0 :(得分:2)
以正确的数据表格式创建一个单独的类,包含sEcho,itotalrecords,ittotaldisplayrecords的字段,然后是一个名为aaData的数组。
然后通过jason返回此课程,然后以您建议的格式返回。
class TableDTO
{
int sEcho;
int iTotalRecords;
int itotalDisplayRecords;
array[] aaData;
}
显然将数据分配给这些字段和适当的访问者等等!
答案 1 :(得分:1)
您必须再编写一个TotalDisplayRecords类,它必须包含数组oid类。之后,返回TotalDisplayRecords对象。