JSON.toJSONString() 对象转化JSON时,转化不成功

SSH多表关联实现:

Action----jsp

Action能够收到jsp传来的值

在PageBean<entity>封装数据成功后,将其转化为JSON时,不能成功

JSON.toJSONString()方法:String com.alibaba.fastjson.JSON.toJSONString(Object object, SerializeFilter filter, SerializerFeature... features)

其中PageBean输出时,PageBean的pageContent为entity的String(相当于toString())型

解决:

1.

我将jsp所需的data独立建立一个空的Java类,在Service层时PageBean封装<entity1·entity2·entity3>

在序列化时成功

此时JSON.toJSONString()成功

2.

关于序列化的问题,表-表是多对一(取多值),many方中有一个one方对象,one方中有一个many方对象集合,

在序列化时,导致了,死循环,所以应当在 参数SerializeFilter filter 对应中,加上所序列化取值对应的表的关系表

如[one][many]两表,取PageBean<many>时,序列化条件中加入many方中对应的one方对象集合

解决方法:

(1)新建一个实现PropertyFilter的类MyFilter,类中apply方法中

if(name.equalsIgnoreCase("ones")){ return false; }

参数SerializeFilter filter 的赋值为MyFilter的对象

(2)使用注解,在所要过滤的对象头上加@JSONField()

至于有无其他方法,抱歉,本人无工作经验,o(* ̄︶ ̄*)o,另欢迎大佬大神前辈们留言

经验分享 程序员 微信小程序 职场和发展