最近公司在做一个管理端用到jQuery datatable 直接解析json可能会报错,本人纠结了很久,经过查资料才知道datatable需要固定格式的json,真恶心,下面是代码:
$("#example").dataTable({
"bAutoWidth": true, //自适应宽度
"aaSorting": [[1, "asc"]],
"sPaginationType": "full_numbers",
"oLanguage": {
"sProcessing": "正在加载中......",
"sLengthMenu": "每页显示 _MENU_ 条记录",
"sZeroRecords": "对不起,查询不到相关数据!",
"sEmptyTable": "表中无数据存在!",
"sInfo": "当前显示 _START_ 到 _END_ 条,共 _TOTAL_ 条记录",
"sInfoFiltered": "数据表中共为 _MAX_ 条记录",
"sSearch": "搜索",
"oPaginate":
{
"sFirst": "首页",
"sPrevious": "上一页",
"sNext": "下一页",
"sLast": "末页"
}
}, //多语言配置
"bProcessing": true,
"bDestroy":true,
"bServerSide":true,
"sAjaxSource": "admin/query.action",
"aoColumns":
[
{ 'data': 'id',"sDefaultContent" : "" },
{ 'data': 'username',"sDefaultContent" : "" },
{ 'data': 'email',"sDefaultContent" : "" },
{ 'data': 'password',"sDefaultContent" : "" },
{ 'data': 'user_role',"sDefaultContent" : "" },
{ 'data': 'login_time',"sDefaultContent" : "" },
{ 'data': 'use_flag',"sDefaultContent" : "" }
]
});
解释:
下面是服务器要返回的json格式
{
"data": [
{
"email": "1003389587@QQ.com",
"id": 2,
"page": 0,
"password": "a",
"phone_no": "15821096978",
"rows": 0,
"use_flag": "1",
"user_role": "21421",
"username": "a"
},
{
"email": "21412",
"id": 3,
"page": 0,
"phone_no": "412412",
"rows": 0,
"user_role": "41212",
"username": "12214"
}
]
}
如果是Java服务器,需要返回HashMap 如下:
Map<String,Object> map=new HashMap<String,Object>();
map.put("data", userEntityList);
response.setCharacterEncoding("utf-8");
response.getWriter().print(JSON.toJSONString(map));