`

JSON-lib中对java.sql.Date类型转化不了

    博客分类:
  • Java
阅读更多

昨天被客户发现了一个BUG,我们使用JSONLIB转化一个数据库查询结果的时候抛出了异常。

转化的对象是一个HashMap,抛出的错误信息是“java.lang.reflect.InvocationTargetException”,这么个错误实在是不知道哪出了问题,最后在异常信息的最后一个Caused By中看到“java.sql.Date.getHours(Unknown Source)”,猜测是数据库时间类型的原因,将相应的属性注释掉后,程序果然正常运行。

OK,找到原因问题就解决了,JsonLib既然不能转化java.sql.Date类型的时间,那么我们就给它转化为java.util.Date类型时间就就是了,于是参照我之前的一个文章上的方法,稍稍加工一下,问题搞定!

等有时间看下JsonLib的源码,看看还有啥是不能转化的吧。

分享到:
评论

相关推荐

    json转换工具,支持日期

    3. `SqlDateProcessor.java`和`UtilDateProcessor.java`: 这两个类与`TimestampProcessor`类似,分别处理`java.sql.Date`和`java.util.Date`类型。由于这些日期类型在JSON中表示方式的不同,自定义处理器可以确保...

    mysql-8.0.22-winx64.zip

    MySQL是一个SQL(Structured Query Language)数据库,它支持多种数据类型,如INT、VARCHAR、DATE、TEXT等,允许用户存储和管理各种类型的数据。它的关系型数据库模型基于表格,每个数据库由多个表组成,表之间可以...

    play框架手册

    由于java不允许多继承,通过控制器继承特点来应用拦截器就受到极大的限制。但是我们可以在一个完全不同的类里定义一些拦截器,然后在任何控制器里使用@With注释来链接他们。 - 42 - Session和Flash作用域 - 42 - 04....

    FastJsonUtil工具类

    在FastJsonUtil工具类中,配置了Date和java.sql.Date类型的日期字段以与json-lib库兼容的格式输出。 3. JSONLibDataFormatSerializer: JSONLibDataFormatSerializer类用于自定义日期类型的序列化方式,以确保与...

    ibatis 一个简单的项目详解

    为了使项目能够正常运行,需要添加以下jar包至项目的lib目录中: - **AspectJ相关**:aspectjrt.jar、aspectjweaver.jar - **日志处理**:commons-logging-1.0.4.jar、commons-logging.jar、log4j-1.2.9.jar - **...

    javaee三大框架整合宅急送项目lib包

    通过 window.showModalDialog() 查看流程图页面 (弹出窗口,显示页面 url地址不能修改 ) function showPng(pid){ //alert("查看" + pid + "对应流程图"); window.showModalDialog("${pageContext.request....

    MySQL初级DBA实战

    - **日期/时间类型**:用于存储日期和时间值,常见的有DATE、TIME、DATETIME、TIMESTAMP等。 - **字符串类型**:用于存储文本数据,包括CHAR、VARCHAR、TEXT及其变体。 - **其他特殊类型**:如BLOB类型用于存储二...

    html5+jquery与ssm进行json交互集成项目

    在本项目中,前端通过jQuery的`$.ajax()`或`$.getJSON()`方法向后端发送JSON请求,后端SpringMVC控制器处理请求后,使用如Gson或Jackson等库将Java对象转换为JSON格式,返回给前端。前端接收到JSON数据后,通过...

    图解Solr5.3.1与MySQL配置【原创】

    - **数据类型**:定义字段的数据类型,例如`string`、`text`、`date`等。 - **分析器**:指定用于字段值的分词器或过滤器。 #### 五、solrconfig.xml配置 `solrconfig.xml`是Solr的核心配置文件,其中包含了一系列...

    ecshop二次开发必备ecshop函数列表大全

    - `addslashes_deep()`: 递归地对变量中的特殊字符进行转义,用于SQL注入防护。 - `addslashes_deep_obj()`: 对对象成员变量或数组进行特殊字符转义。 - `stripslashes_deep()`: 递归地移除变量中的转义字符。 -...

    ecshop二次开发函数大全

    - `mysql_like_quote()`:对MySQL的LIKE语句内容进行转义,增强SQL安全性。 - `real_server_ip()`:获取服务器的实际IP地址,可能在处理负载均衡或反向代理时有用。 - `ecs_header()`:自定义HTTP头,有助于防止...

    ecshop的常用函数

    31. **json_str_iconv()**: 对JSON字符串进行编码转换,确保数据传输无误。 32. **get_file_suffix()**: 提取文件的扩展名,并验证是否符合允许的类型。 33. **read_static_cache()** 和 **write_static_cache()**...

    SWFUpload 批量上传(一次选取) 保存到数据库

    它支持一次选取多个文件,用户可以在不刷新页面的情况下上传文件,提高了用户体验。本教程将详细介绍如何利用SWFUpload实现批量上传,并将文件信息保存到MySQL数据库。 首先,我们需要在Eclipse JEE环境中创建一个...

Global site tag (gtag.js) - Google Analytics