用fastjson发现一个很好的地方就是renderJson的时候会帮我去把getBean的方法一起帮我序列化出来,这个就很舒服了。
比如我现在有这么两个类
member成员表
class Member{ public String name; public int age; public Depart getDepart(); }
Depart部门表
class Depart { public String departName; public List<member>getMemberList(); }
我去RenderJson(member)的时候他自动会去帮我把部门信息一起带过来这样我就免去再去用memberId换取depart信息这个步骤了,用起来很舒服,但是有个问题是
如果这个时候Depart部门表中有个查询所在此部门的所有用户的一个方法,那么就会有死循环,fastJson先去找到member中的depart然后有去找depart中的member如此一来就有问题了。
我想问的是,这种设计模式可不可取?如果可以这么做的话该怎么解决死循环的问题。
如果不可取的话,为什么这样做不好,如果我需要renderJson的时候一起把我model中的一些bean对象带出来该怎么去做比较好呢?
项目:JFinal
如果 fastjson 没有这个配置,可以在面对这种情况时暂时用一下 jfinal:
JFinalJson.getJson().toJson(...);
要不就让 bean 里面的依赖不要形成死循环