json infinite recursion stackoverflowerror
来源:互联网 发布:最讨厌的动漫人物知乎 编辑:程序博客网 时间:2024/05/24 04:43
环境:springmvc+hibernate+json
在controller返回数据到统一json转换的时候,出现了json infinite recursion stackoverflowerror的错误,即json在将对象转换为json格式的数据的时候,出现了无限递归调用的情况。
具体的情况如下:
A类中,有个属性:List<B> b, A与B的关系为 OneToMany;在B类中,有属性A a,引用到A中的字段id,并作为外键。hibernate查询结果正常,可以看到返回的A对象中,有b参数值,但在json转换的时候就出现了无限递归的情况。个人分析,应该是json在序列化A中的b属性的时候,找到了B类,然后序列化B类,而B类中有a属性,因此,为了序列化a属性,json又得去序列化A类,如此递归反复,造成该问题。
解决:
在B类中a的getter setter方法上加注解@JsonBackReference,其实自己试过只在setter方法上加@JsonBackReference也够了。
参考文章:
http://my.oschina.net/u/943437/blog/145246
- json infinite recursion stackoverflowerror
- Could not write JSON: Infinite recursion (StackOverflowError) (through reference chain:
- 对象序列化成json数据时,Infinite recursion (StackOverflowError)
- Could not write JSON: Infinite recursion (StackOverflowError) (through reference chain:
- Infinite recursion (StackOverflowError)解决方案@JsonBackReference
- Could not write content: Infinite recursion (StackOverflowError)
- 关于 Infinite recursion (StackOverflowError)报错
- 微服务间调用导致的Could not write content: Infinite recursion (StackOverflowError)问题
- spring mvc json循环引用JsonMappingException: Infinite recursion
- 返回JSON出现Infinite recursion无限循环错误的解决
- INfinite recursion detected .
- Struts2: INfinite recursion detected
- struts2:Infinite recursion detected
- org.codehaus.jackson.map.JsonMappingException: Infinite recursion的解决
- Jackson序列化对象时无限递归错误Infinite recursion的解决办法
- StackOverflowError
- StackOverflowError
- StackOverflowError
- C#抓取团购网销量数据
- 一Swing编程起步
- 强连通分量
- 运算符
- Reader开发(二)增加PDF阅读功能
- json infinite recursion stackoverflowerror
- 有关URL传值乱码问题
- CUSparse 第二章 使用CUSPARSE API
- 1.从eclipse中带格式复制代码
- Python * 与 ** 修饰符解析
- 用printf打印MAC地址的时候为什么要后面的&0xFF?
- Java基础——static关键字
- VBS基础知识
- Hibernate创始人Gavin King:冬眠的数据