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

 代码如下:

                1.Group exitGroup=new Group();

2.JSONArray jsonArray=new JSONArray();
3.JSONObject jsonObject=new JSONObject();
4.exitGroup=groupService.showGroupByGroupid(group.getGroupid());
5.jsonObject.put("group",exitGroup);

6.jsonArray.add(jsonObject);

报错信息如下:

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

错误位置

代码的第5句错误

错误原因:

jsonObject装配的参数:第一个为字符串,没问题。第二个为实体对象,按理来说没问题。其实是实体对象的某个属性与数据库的不匹配,尤其是实体对象中存在Date类型。

错误解决办法:

对于实体类存在Date类型:

1.查看date包是否导入错误,若是时间date,导包应该是import java.util.Date;

2.查看date是否与数据库匹配。比如数据库使用的是date类型,实体类中也应该是date类型。若数据库是datetime类型,实体类也应该进行相应的映射,表示该字段存放时间戳。

3.实体类字段是否与数据库数据进行映射。我用的框架为ssh,采用注解式映射:@Temporal(TemporalType.DATE),将该注解添加到date字段上或者get方法上。但是有个bug,很奇怪,我的其中一个实体是加到字段上,可以运行,且结果正确。但第二个实体加入到字段上无法映射,报该错误。加入get方法上则问题解决。建议都加到get方法上。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值