我们把一个对象或者集合转化成一个json字符串的时候,他会遍历每一个字段,当你对象A里面有对象B,独享B里面有对象A的时候,这时候转化的时候就会抛出net.sf.json.JSONException: There is a cycle in the hierarchy!这个异常,也就是说白了就是循环了.这时候需要我们写一个过滤的小东西
JsonConfig cfg = new JsonConfig();
cfg.setJsonPropertyFilter(new PropertyFilter()
{
public boolean apply(Object source,String name,Object value) {
if(name.equals("contactGroups")||name.equals("contactGroupPersons")) {
return true;
} else {
return false;
}
}
});
这里就是定义了一个过滤器,过滤掉了contactGroups和contactGroupPersons名称的字段,返回true表示过滤掉这个属性,当然了,这个过滤器自身不会起到任何作用,只有在转化的时候用到才行
JSONArray array = JSONArray.fromObject(entityList,cfg);
这里使用两个参数的方法,第二个参数是一个配置对象,就是我们上面定义的JsonConfig cfg = new JsonConfig();
然后我们设置配置对象里面的属性过滤属性,相信大家都是看得懂的了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。