yu5533
2016-12-22 04:48
采纳率: 40%
浏览 3.4k
已采纳

json数据转换异常

json数据转换异常:net.sf.json.JSONException: java.lang.reflect.InvocationTargetException

解决方法如下(非常感谢这位童鞋):
摘自:http://www.2cto.com/kf/201312/266457.html
执行:
JSONArray array = JSONArray.fromObject(this.users);

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

users是一个list集合

方案一:

JSONArray array = JSONArray.fromObject(this.users.toArray());

方案二:

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

方案三:

日期格式hibernate延时加载

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

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

2.解决:hibernate延时加载 设置
Java代码 收藏代码

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

方法举例
Java代码 收藏代码(参考图片)
![图片说明](https://img-ask.csdn.net/upload/201612/22/1482382044_822286.png)
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • yu5533 2016-12-22 04:50
    已采纳

    图片说明

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • yu5533 2016-12-22 04:52

    问题及解决方法已全部在此,希望能帮助到遇到同样的问题的童鞋

    评论
    解决 无用
    打赏 举报
  • Q544471255 2016-12-22 07:01

    哦,可以参考:http://json.cn

    格式化。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题