FastJson序列化对象出现$ref循环检测问题

问题描述

对象中有自己类型的成员变量,为了解决json序列化的循环引用问题的(循环引用即A中包含B,B中又包含了A,这样在序列化你过程中会进入死循环),所以在出现该情况。

多级菜单pojo

public class Menu implements Serializable{
private Integer id;
private String name; // 菜单名称
private String linkUrl; // 访问路径
private String path;//菜单项所对应的路由路径
private Integer priority; // 优先级(用于排序)
private String description; // 描述
private String icon;//图标
private Set roles = new HashSet(0);//角色集合
private List

children = new ArrayList<>();//子菜单集合 <== 子菜单序列化失败
private Integer parentMenuId;//父菜单id
private Integer roleId;//对应角色id
private Integer level;
}

修改fastjson配置

添加配置DisableCircularReferenceDetect

mvc:annotation-driven
<mvc:message-converters register-defaults="true">






WriteMapNullValue



WriteDateUseDateFormat


DisableCircularReferenceDetect



</mvc:message-converters>
</mvc:annotation-driven>

posted @ 2021-01-25 18:40  笨蛋树上笨蛋果  阅读(259)  评论(0)    收藏  举报