Atitit.json xml 序列化循环引用解决方案json

时间:2022-10-23 13:16:26

Atitit.json xml 序列化循环引用解决方案json

1. 循环引用1

2. 序列化循环引用解决方法1

2.1. 自定义序列化器1

2.2. 排除策略1

2.3. 设置序列化层次,一般3级别为好..(推荐)1

2.4. Ref方法1

3. fastJson内置有合理的循环引用检测2

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