当前位置: 代码迷 >> 综合 >> JSON.toJSONString() 对象转化JSON时,转化不成功
  详细解决方案

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

热度:37   发布时间:2023-12-17 05:51:46.0

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,另欢迎大佬大神前辈们留言

 

  相关解决方案