在进行一个AJAX请求时,我在后台处理好数据后,得到一个list集合,利用gson转换为json传到前台进行显示。
但是发现,前台的json一直为空,所以进入debug,发现在gson.toJson(list);这一步一直是死循环。通过查看他人bolg和经验贴,发现如果list得到的数据,是存在外键,然后封装数据用对象封装的话,会造成外键的互相关联,导致死循环。
解决方案一:直接取了某些字段进行转换。成功
解决方案二: 对于JSON library
JsonConfig config = new JsonConfig();//创建json配置
config.setExcludes(new String[]{"在此输入不需要转换的字段,一般是我们bean中的外键名"});
成功。
解决方案三:对于FastJson
注解@JSONField(serialize=false);//使转换时不转换该数据