您的位置:首页 > 编程语言 > Java开发

net.sf.json.JSONException: java.lang.reflect.InvocationTargetException

2010-05-04 09:47 567 查看
在 Java 程序中 利用 JSONObject.fromObject(processDefinition)).toString(),{processDefinition是hibernate查询出来的对象},出现下面的异常

net.sf.json.JSONException: java.lang.reflect.InvocationTargetException,

经过调试发现 是由于 processDefinition中有个 java.util.Date类型的变量, 而在hibernate配置文件中 这个变量<property name="createdDate" type="date" column="CREATED_DATE" />, type 用了 date,改为java.util.Date 异常解决, 可能是由于 ,date 对应的 类型是Java.sql.date 引起的

在使用Json-Lib将Java对象转成JsonString时,一般情况下,我们都使用JSONObject.fromObject(Java对象) 就可以了,但是今天在使用此方法处理从数据库查询的返回结果时,发生了异常错误。谷歌了一把,找到了原因和解决办法:原因:我使用了Hibernate来操作数据库,而Json-lib在处理这类结果对象时,存在了这个异常问题。解决办法如下。

在网上查的 解决办法如下,不过我没用
JSONObject.fromObject(hibernate对象)

出现以下Exception
net.sf.json.JSONException: java.lang.reflect.InvocationTargetException
net.sf.json.JSONObject._fromBean(JSONObject.java:959)

detaiMessage:Positioned Update not supported.

解决方法如下 :使用以下代码来

Java 代码
JsonConfig jsonConfig=new JsonConfig();
jsonConfig.setExcludes(new String[]{"handler","hibernateLazyInitializer"});

JSONObject.fromObject(hibernate对象,jsonConfig);JsonConfig jsonConfig=new JsonConfig();
jsonConfig.setExcludes(new String[]{"handler","hibernateLazyInitializer"});

JSONObject.fromObject(hibernate对象,jsonConfig);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐