java stackoverflow原因,java stackoverflowerror解决
目录
java操作json对象有StackOverflow错误。解决方法:记录一次json转换对象的异常。
java操作json对象出现StackOverflow错误
今天在做一个项目的时候,遇到了一个很诡异的问题。一个java实体类中有多个属性,每个属性都是JsonObject类型。
当在程序中使用setXXX方法设置这些属性的值时,会报告堆栈溢出错误。仔细检查程序,确保没有循环引用和死递归。最后查阅相关资料,终于发现我用的JsonObject是net.sf.json包下的一个类。
这个类库中的Json对象可能在多个对象之间有交叉引用,导致程序最终报告堆栈溢出错误。
解决方法
将成员属性的类型设置为字符串String,以避免上述情况。或者用fastjson来处理。fastjson在处理json对象时不会发生。
记录一次json转换对象的异常
今天写代码的时候遇到了这样的问题。当将Java对象转换成JOSN字符串时,出现了重复的字段“OPEN”和“TIMESTAMP”。
这是Java目标代码。
实验表明,只有这两个字段是重复的,有可能猜测这个字段是特殊别名。
对实例类进行以下更改
成功修复
以上个人经验,希望能给大家一个参考,也希望大家能支持盛行的IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。