新入职一家,,遇到一个JSON返回一直报堆栈溢出的错误.,框架配置过了JSON解析器,所有写法无误.于是纠结了三个小时没找到问题所在.
后经排查是JAR使用不一致导致! 被坑了,非常郁闷! JSON解析器被要求用封装的工具类,这个工具类用的JSON包为:
import net.sf.json.JSONArray; import net.sf.json.JSONObject;
实体继承的基类所用的JSON包为:
import com.fasterxml.jackson.annotation.JsonIgnore;
@JsonIgnore
忽略不会生效
所以解析时会不断去找另一个实体,那个实体为空,就递归了.前辈大佬封装的也不一定对,还是要多用自己写的
第一次写文章,这个样式看起来好尴尬,各位别喷.
本文记录了一个关于JSON解析引发堆栈溢出错误的问题排查过程。问题出现在不同JSON库间的不一致使用,具体表现为一个实体类使用了Jackson的@JsonIgnore注解,而工具类却使用了另一个JSON库。这种不匹配导致了解析时出现无限递归的情况。
4897

被折叠的 条评论
为什么被折叠?



