当前位置:编程学习 > JAVA >>

用JSONArray.fromObject(list).toString()时报错,请问如何解决

严重: Servlet.service() for servlet ShoppingCartServlet threw exception
net.sf.json.JSONException: java.lang.reflect.InvocationTargetException
at net.sf.json.JSONObject._fromBean(JSONObject.java:987)
at net.sf.json.JSONObject.fromObject(JSONObject.java:168)
at net.sf.json.AbstractJSON._processValue(AbstractJSON.java:265)
at net.sf.json.JSONObject._processValue(JSONObject.java:2808)
at net.sf.json.JSONObject.processValue(JSONObject.java:2874)
at net.sf.json.JSONObject.setInternal(JSONObject.java:2889)
at net.sf.json.JSONObject.setValue(JSONObject.java:1577)
at net.sf.json.JSONObject._fromBean(JSONObject.java:934)
at net.sf.json.JSONObject.fromObject(JSONObject.java:168)
at net.sf.json.AbstractJSON._processValue(AbstractJSON.java:265)
at net.sf.json.JSONArray._processValue(JSONArray.java:2514)
at net.sf.json.JSONArray.processValue(JSONArray.java:2539)
at net.sf.json.JSONArray.addValue(JSONArray.java:2526)
at net.sf.json.JSONArray._fromCollection(JSONArray.java:1057)
at net.sf.json.JSONArray.fromObject(JSONArray.java:123)
at net.sf.json.JSONArray.fromObject(JSONArray.java:105)
at com.servlet.ShoppingCartServlet.doPost(ShoppingCartServlet.java:65)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2155)
at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1323)
at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:762)
at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:837)
at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:426)
at net.sf.json.JSONObject._fromBean(JSONObject.java:918)
... 30 more
Caused by: org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:132)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:174)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
at com.bean.User_$$_javassist_1.getAddress(User_$$_javassist_1.java)
... 40 more --------------------编程问答-------------------- Stirng value=JSONArray.fromObject(list).toString();
你这样写的吗? --------------------编程问答-------------------- 我也报同样的错误,是这样写的?请问能解决吗? --------------------编程问答-------------------- 是不是你的list定义或者赋值有问题,导致JSONArray.fromObject(list)出现问题
从而没有取到数据,出现下面错误
Caused by: org.hibernate.LazyInitializationException: could not initialize proxy - no Session
--------------------编程问答-------------------- org.hibernate.LazyInitializationException: could not initialize proxy - no Session
list没有取到 应该是个null值 --------------------编程问答-------------------- list里面的对象有空字段吧 
以前我也遇到过 --------------------编程问答-------------------- 我TM 也遇到这个错误了, 求大牛。 --------------------编程问答-------------------- at com.bean.User_$$_javassist_1.getAddress(User_$$_javassist_1.java) 你的User 对象获取地址时候出错  这个JSONArray 有吊关系

  组装的数据异常

--------------------编程问答-------------------- List中的对象不能嵌套,如果嵌套的话,可能是转不了的 --------------------编程问答-------------------- 反射对应关系是不是没写正确。。你返回的字符串和结果集中name所对应的字符串不一致。 。 --------------------编程问答-------------------- hibernate报延迟加载异常,还没到JSON那步。跟JSON没直接关系。 --------------------编程问答-------------------- 解决没啊?遇同样问题! --------------------编程问答-------------------- 不是JSONArray的问题是你hibernate的延迟加载问题,你在getAddress()时出现了延迟加载问题 --------------------编程问答--------------------
引用 8 楼 cjoy4856 的回复:
List中的对象不能嵌套,如果嵌套的话,可能是转不了的


正解,

JSONArray不是什么都能转的,对象相互嵌套,就是个死循环
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,