后端返回的json形式分页数据,前端如何才能得到和后端一样的PageData<>

情况是这样的:
1、我的系统架构是前端c/s,后端用的b/s响应,接口是httpclient,采用http协议交互
2、我在后端查询得到数据,比如一个账号列表,我是以分页形式查询得到,并json返回
Page<Record> pageData = service.query(account, pageNumber, pageSize);
String jsonData = JFinalJson.getJson().toJson(pageData);
renderJson(jsonData);

3、前端,该怎么获取到和后端一样的分页形式呢?pageData<Record>
我用下面形式:
Page<Record> pageData = (Page<Record>)(JSON.parseObject(EntityUtils.toString(responseEntity), Page.class));

调试发现,分页数据是正确的,但以pageData.getList().get(i)获取record,就打印异常

也就是说,传送是正确的,转换也是正确的,但获取pageData.getList().get(i),就 异常

  java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to com.jfinal.plugin.activerecord.Record

前端,我该怎么去做转换呢 


评论区

老兵

2019-10-04 19:18

调试中发送的信息如下:
{
submitter:admin,
roleid:0,
sex:1,
telephone:123456,
ifmarked:1,
remark:null,
password:123,
lasttime:2019-09-23 15:23:48.0,
surname:张三,
id:1,
empcode:z00001,
email:123@qq.com,
username:admin,
onoff:1}

返回前端的信息如下:
{
"email":"123@qq.com",
"empcode":"z00001",
"id":1,
"ifmarked":1,
"lasttime":"2019-09-23 15:23:48",
"onoff":1,
"password":"123",
"roleid":0,
"sex":1,
"submitter":"admin",
"surname":"张三",
"telephone":"123456",
"username":"admin"
}

j1066783215

2019-10-08 11:19

FastJson.getJson() 去处理试试

JFinal

2019-10-10 14:47

@老兵 fastjson 在 parse 时除了要传入 Page 类型以外,还要想办法传入 Record 类型,否则 fastjson 处理好了外层的 Page 类型,但 Page 内部的 Record 并没有处理好

查查 fastjson 文档

马小酱

2019-10-12 10:23

你可以了解一下dataTable,我项目里用着觉得还不错

热门反馈

扫码入社