问题:time类型数据插入不进mysql数据库;调试的时候报如下错误:

Caused by: java.lang.NumberFormatException: For input string: "13:02:19"

Resolving exception from handler [public slc.utils.ResultJson slc.controller.SamplingpointinfoController.saveSamplingpointinfo(java.lang.String) throws java.lang.Exception]: com.alibaba.fastjson.JSONException: For input string: "13:02:19"

断点调试, System.out.println(t);传入的参数能打印出来,

{
    "samplingpointId":"1",
    "samplingDate":"2016-04-13",
    "samplingTime":"13:02:19",
    "samplingpointType":"0",
    "samplingpointVariety":"测试1",
    "samplingpeopleId":"1",
    "samplingArea":"测试1"
}

进了  SamplingpointinfoTable samplingpointinfoTable=JSON.parseObject(t, SamplingpointinfoTable.class);这句代码抛异常;

代码部分:

public @ResponseBody ResultJson  saveSamplingpointinfo(@RequestParam(value="json",required=true) String t) throws Exception{
  System.out.println(t);
    SamplingpointinfoTable samplingpointinfoTable=JSON.parseObject(t, SamplingpointinfoTable.class);
    int DBResponse=samplingpointinfoServiceI.insertSelective(samplingpointinfoTable);

于是基本断定是传入的参数没有转换成json对象成功。网上说要fastjson对日期型处理时要在pojo中相应属性下面加注解

@JSONField(format="HH:mm:ss") 
    private Date samplingTime;

改完后继续调试,可是为什么fastjson转换还是不成功呢,

mysql中date(2015-05-31)和time(20:21:56)在java中对应的都是date类型,使用mybatis逆向工程生成的也都是date类型,这些也都没问题啊

是不是这个版本有bug啊,我使用的

<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>fastjson</artifactId>
   <version>1.1.26</version>
  </dependency>

换成最新版吧,

<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>fastjson</artifactId>
   <version>1.2.12</version>
  </dependency>

还真是版本问题,换成这个版本以后就好了;然后为了试试到底用不用加注解,我又把下面pojo里面的属性上的注解去掉了

@JSONField(format="HH:mm:ss") 
    private Date samplingTime;

去掉就报错!所以总结:1,fastjson 1.1.26版本存在date类型转换的bug,换成新版本就好;

2,pojo里面的date属性上要加注解,比如:@JSONField(format="HH:mm:ss") 
                                                          private Date samplingTime;

fastjson转换包含date类型属性的对象时报错com.alibaba.fastjson.JSONException: For input string: "13:02:19"的更多相关文章

  1. 解决使用Redis时配置 fastjson反序列化报错 com.alibaba.fastjson.JSONException: autoType is not support

    1.问题描述 在使用redis时,配置自定义序列化redisTemplate为FastJsonRedisSerializer .  1 /** 2 * 自定义redis序列化器 3 */ 4 @Sup ...

  2. 泛型(二)封装工具类CommonUtils-把一个Map转换成指定类型的javabean对象

    1.commons-beanutils的使用 commons-beanutils-1.9.3.jar 依赖 commons-logging-1.2.jar 代码1: String className ...

  3. java中,字符串类型的时间数据怎样转换成date类型。

    将字符串类型的时间转换成date类型可以使用SimpleDateFormat来转换,具体方法如下:1.定义一个字符串类型的时间:2.创建一个SimpleDateFormat对象并设置格式:3.最后使用 ...

  4. Mysql一个非常有用的内置函数今天碰到要把MySQL数据库中的varchar转换成date类型进

    Mysql一个非常有用的内置函数 今天碰到要把MySQL数据库中的varchar转换成date类型进行时间的比较和查询.在网上找了找,发现MySQL也跟其他数据库一样有自己内置的转换函数:str_to ...

  5. 将具有关联关系的两个表从hibernate查询出来转成json对象时报错

    第一篇文章: 相信大家做过JSON相关的东西对这个异常并不陌生,这个异常是由于JSONObject插件内部会无限拆解你传入的对象,直到没有可拆解为止,问题就在这,如果你传入的对象有外键关系,或者相互引 ...

  6. java编程如何实现多条2017-01-16 22:28:11.0这样的时间数据,转换成Date类型Mon Jan 16 22:28:11 CST 2017这样的时间数据

    不多说,直接上干货! package zhouls.bigdata.DataFeatureSelection.sim; import java.text.ParseException; import ...

  7. [JavaEE] Entity中Lazy Load的属性序列化JSON时报错

    The server encountered an internal error that prevented it from fulfilling this request.org.springfr ...

  8. java后台接收json数据,报错com.alibaba.fastjson.JSONObject cannot be cast to xxx

    从前台接收json封装的list数据,在后台接收时一直报错,com.alibaba.fastjson.JSONObject cannot be cast to xxx, 使用这种方式接收可以接收 @R ...

  9. 做文件上传下载时报这个错com.alibaba.fastjson.JSONException: illegal identifier : \

    ::-exec-] DEBUG c.i.e.m.I.insertDataEmebeding - <== Updates: ::-exec-] ERROR c.i.e.c.CaseArchiveC ...

随机推荐

  1. arcpy脚本使用多接图表图斑对对应多幅影像进行裁边处理

    插个广告,制作ArcGIS的Tool工具学习下面的教程就对了: 零基础学习Python制作ArcGIS自定义工具观看链接 <零基础学习Python制作ArcGIS自定义工具>课程简介 先将 ...

  2. sql查询静态数据

    select * from ( ,,,'高中')) AS Education ( EducationId,EducationName )

  3. Oracle单表备份三种方案

    备份方案一: 1. 备份 create table [备份名] as select * from [表名]; 2. 恢复 truncate table org_group; insert into o ...

  4. python 中字符串中含变量方法

    1. 简单粗鲁的字符串拼接 1 name = "abc" 2 age = 25 3 info = "the name is "+name +"\nth ...

  5. oracle trim无效?

    这里说说如果是全角空格怎么去除 方法一 trim(TO_SINGLE_BYTE('aaa')) 方法二 SELECT TRIM(replace('aaa',' ','')) FROM dual

  6. django 304

    pycharm现象: [18/Jul/2017 23:27:26] "GET /static/201408210521231921042235.png HTTP/1.1" 304 ...

  7. Mac上使用频率最高的七组快捷键

    不管Mac还是Windows,会使用快捷键都能让你的工作效果提升不少,但是快捷键那么多一下子全部记下来也不太实际,这里小编就整理了七组使用频率最高的快捷键,希望可以帮到大家. https://www. ...

  8. QT blockingmaster例子学习

    dialog.h: #ifndef DIALOG_H #define DIALOG_H #include <QDialog> #include "masterthread.h&q ...

  9. 自己封装 vue 组件 和 插件

    vue 组件 一.组件的创建,两种方法.(本质上是1.2两种,vue文件,只是创建了一个  组件选项对象,仅是一个js对象)1.定义组件:Vue.component('button-counter', ...

  10. commonJs的运行时加载和es6的编译时加载

    参考 : https://www.cnblogs.com/jerrypig/p/8145206.html 1.commonJs的运行时加载 2.ES6编译时加载