问题:
List<Resource> res = resourceService.findAll();
JSONArray datalist = JSONArray.fromObject(res);//这里报错there is a cycle in the hierarchy
用网上提供的方法不好使下面是Resource属性
private Integer id; private String title;
private String description;
private Set<Role> roles = new HashSet<Role>();Resource和Role有多对多的关系Role的属性
private Integer id; private String roleName;
private Set<Resource> res = new HashSet<Resource>();
解决:
List<Resource> roomList=roomService.findByHotelsid(hotelsid);
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setJsonPropertyFilter(new net.sf.json.util.PropertyFilter(){
@Override
public boolean apply(Object source, String name, Object value) {
if(name.equals("Roles")){
return true;
}else{
return false;
}
}});
JSONArray json=JSONArray.fromObject(roomList,jsonConfig);