Atitit.json xml 序列化循环引用解决方案json
1. 循环引用
将Bean转化为json string时,一个非常的典型的问题就出现了,就是对象间的嵌套循环引用,如果没有合理的json生成策略,那将是一个无底洞的死循环,直到堆栈溢出。(循环引用的数据不能排除掉因为前端需要读取)
2. 序列化循环引用解决方法
2.1. 自定义序列化器
2.2. 排除策略
2.3. 设置序列化层次,一般3级别为好..(推荐)
2.4. Ref方法
实体对象之间的关联关系会比较复杂,要么就手动处理有选择性的输出关联关系,要么就用fastjson这样能够处理循环引用的库,在数据使用方的底层,在做引用还原
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
3. fastJson内置有合理的循环引用检测
fastJson内置有合理的循环引用检测,采用了比较广泛的json path表示法,避免了反射Bean时循环引用造成的死循环。类似于这样的形式 {"$ref":"$.data[1]"}输出,关键看图fastJson采用循环引用后输出结果!
Gson——循环引用的解决方案 - 做更好的自己)费强的博客 - ITeye技术网站.htm
Gson——循环引用的解决方案 - 做更好的自己)费强的博客 - ITeye技术网站.htm