java生成json时产生栈溢出错误问题的解决
来源:互联网 发布:centos安装deb 编辑:程序博客网 时间:2024/04/30 15:41
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/52460691
本文出自【我是干勾鱼的博客】
环境:
java + hibernate +html
本来,java中使用json事件很正常的事,但小心有的地方有点“坎儿”。
比如,在java中建立了json对象想传到前台去:
List<Comment> commentsList = commentMng.findByArticleId(articleid);JSONArray jsonMembers = new JSONArray(commentsList);...
注意这里,得到了一个关于Comment的list数组commentsList。如果Comment类型中的成员变量,都是普通的成员变量,那么ok,这么操作没问题。
如果Comment类型的表中包含外键,而Comment本身又与该外键对应的变量是多对一的关系,比如Comment中有个Article字段,多个Comment变量可以对应一个Article变量。那么在这种情况下:
JSONArray jsonMembers = new JSONArray(commentsList);
这里会出现栈溢出错误:
java.lang.StackOverflowError
在这种情况下,解决的办法就是将原有的List类型的list分解,也就是将commentsList分解,单独将变量传进JSONArray:
JSONArray jsonMembers = new JSONArray();for ( Comment comment : commentsList) { JSONObject jsonObject = new JSONObject(); jsonObject.put("id", blogComment.getId()); ... ... jsonMembers.put(jsonObject);}
当然那个多对一的字段信息如果想传递进去,也是不能直接将Comment类型的变量放到jsonObject里面的,而是需要字符串化,总之专递的尽量是字符串信息。
1 0
- java生成json时产生栈溢出错误问题的解决
- 使用cufft库函数时产生链接错误问题的解决
- 解决java poi生成word文件格式错误的问题。
- org.apache.commons.lang.xwork.StringUtils 问题的解决!json使用时产生的问题
- myeclispe 6.5生成hibernate映射时产生“generating artifacts”错误的解决!
- 解决Linux下编译Java产生 illegal character: \65279 错误的问题
- JAVA解决大批量导出数据到excel产生内存溢出的方案
- JAVA开发(4) -JVM 内存溢出问题的解决
- 执行maven命令java内存溢出问题的解决
- java 项目中内存溢出问题的解决
- 如何检查和解决Java虚拟机内存溢出的问题?
- 解决除法溢出的问题
- 解决内存溢出的问题
- 解决游标溢出的问题
- eclipse和maven在生成报告的时候产生栈溢出
- 解决 java double 减 int 型 产生的精度问题
- 解决jQuery使用JSONP时产生的错误
- 解决大批量数据导出Excel产生内存溢出的方案
- Android轮播图(ViewPage)
- 非递归遍历二叉树的方法
- CodeForces 631E Product Sum(斜率优化DP+二分|三分) ★
- Neptune分布式系统的流程、参数详解
- xxx cannot be resolved to a type 错误解决方法
- java生成json时产生栈溢出错误问题的解决
- Linux——自定义命令
- 代码命名规范
- Java 关键字synchronized解析
- php中计算一个字符在字符串中出现的次数
- CSS块元素和内联元素特征
- @RestController和@Controller的区别
- java类的复习
- 【java】java intellij idea 破解