对象中属性转成json格式报错java.lang.IllegalArgumentException at java.sql.Date.getHours(Date.java:182)

java.lang.IllegalArgumentException at java.sql.Date.getHours JSONException

在我这里是由于java.util.Date 和 java.sql.Date的转换问题造成的.


好像是由于在json里要输出的实体类中的一个属性类型为java.sql.Date.我将其改变成了java.util.Date.就好了

对象中的属性类型必须是java.util.Date,这样才能够利用JSONArray.fromObject(obj)把该对象转换成为json格式,否者就会报上面的错误,另外从数据库中取出的rs.getDate("birthday"),这个数据类型是sql.Date,以 Java 编程语言中的 java.sql.Date 对象的形式获取此 ResultSet 对象的当前行中指定列的值。要把它转换成util.date才能读取保存到对象中去

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

你可能感兴趣的:(学习笔记)