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

skyblackhole 2009-03-22 07:17:33

执行:
JSONArray array = JSONArray.fromObject(this.users);

就会报以下错误:
net.sf.json.JSONException: java.lang.reflect.InvocationTargetException

users是一个list集合,请求帮助.
...全文
28117 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
laoda264 2012-10-24
  • 打赏
  • 举报
回复
mLogger.debug("\n请求参数:[userid="+userid+"]");
laoda264 2012-10-24
  • 打赏
  • 举报
回复
如果JSON数据有对象数据怎么办?
Lyle 2012-09-26
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 的回复:]
JSON打印出来的时间数据是:
"time":{"date":2,"day":3,"hours":0,"minutes":0,"month":2,"seconds":0,"time":1298995200000,"timezoneOffset":-480,"year":111}
[/Quote]
我的也打印出这个,页面也显示不出来了,怎么回事?
zhuang277100963 2012-07-18
  • 打赏
  • 举报
回复
出现这bug
出现了两种情况:
1.日期格式
2.hibernate延时加载

解决:日期格式
private java.util.Date createTime; 

只在字段前声明Date的数据类型可能也会抛异常,在Set,get方法中,有出现Date类型的都把包名加上



解决:hibernate延时加载 设置



JsonConfig cfg = new JsonConfig();

cfg.setExcludes(new String[]{"handler","hibernateLazyInitializer"});

wxd83210 2012-01-30
  • 打赏
  • 举报
回复
在action中我没有用到date字段啊!应该怎样修改啊!需要帮忙,急急。。。
Jake 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 cooljiji 的回复:]

这是因为bean里有Date字段,且从数据库里读出来的是java.sql.Date赋值给了java.util.Date,转化成JSONArray时出错;可以在从数据库读出Date 时直接写成:new java.util.Date(rs.getDate("date").getTime),这样就不会出错了;

哈哈…… 我用这个从来没报这样的错啊!!!??
MaDKisS 2011-05-13
  • 打赏
  • 举报
回复
JSON打印出来的时间数据是:
"time":{"date":2,"day":3,"hours":0,"minutes":0,"month":2,"seconds":0,"time":1298995200000,"timezoneOffset":-480,"year":111}
MaDKisS 2011-05-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 cooljiji 的回复:]
这是因为bean里有Date字段,且从数据库里读出来的是java.sql.Date赋值给了java.util.Date,转化成JSONArray时出错;可以在从数据库读出Date 时直接写成:new java.util.Date(rs.getDate("date").getTime),这样就不会出错了;
[/Quote]
确实不报错了,但是ajax返回页面的时间显示的是 [object Object],该如何解决?求解
feifei694893239 2010-12-10
  • 打赏
  • 举报
回复
或者可以排除日期字段,如果不需要用的话:
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setExcludes(new String[] { "POPU_UPDATE_TIME", "POPU_CREATE_TIME","POPT_UPDATE_TIME", "POPT_CREATE_TIME","SYUS_UPDATE_TIME", "SYUS_CREATE_TIME" });

List list = this.purchaseService.getPurchaseInfo(searchMap);
String jsonStr = JSONArray.fromObject(list,jsonConfig).toString();
feifei694893239 2010-12-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 cooljiji 的回复:]

这是因为bean里有Date字段,且从数据库里读出来的是java.sql.Date赋值给了java.util.Date,转化成JSONArray时出错;可以在从数据库读出Date 时直接写成:new java.util.Date(rs.getDate("date").getTime),这样就不会出错了;
[/Quote]

正解!
ly_zgz 2010-10-08
  • 打赏
  • 举报
回复
遇到了同样的问题,怎么解决呀?
zll_0626 2010-08-11
  • 打赏
  • 举报
回复
怎么解决的啊
tannel 2010-07-12
  • 打赏
  • 举报
回复
我也是有着问题
swh19840329 2010-05-12
  • 打赏
  • 举报
回复
我也是有着问题
pf_renren 2010-01-15
  • 打赏
  • 举报
回复
我也出现了这个问题 , 搞了一上午,终于解决了,谢谢各位
cooljiji 2009-12-02
  • 打赏
  • 举报
回复
这是因为bean里有Date字段,且从数据库里读出来的是java.sql.Date赋值给了java.util.Date,转化成JSONArray时出错;可以在从数据库读出Date 时直接写成:new java.util.Date(rs.getDate("date").getTime),这样就不会出错了;
zhangleialang 2009-10-28
  • 打赏
  • 举报
回复
我也遇到这样的问题,数据有什么问题啊
skyblackhole 2009-05-27
  • 打赏
  • 举报
回复
都不是,是因为this.users中的数据有问题,不能转换成json格式的数据
figure99hehe 2009-03-23
  • 打赏
  • 举报
回复
JSONArray array = JSONArray.fromObject(this.users.toArray());
改成这样!
zzyx 2009-03-23
  • 打赏
  • 举报
回复
请先确保user是一个标准的java bean,bean的属性对应的类型也是标准的bean。
加载更多回复(5)

67,518

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧