fastJSON字符串类型数据中的日期转换为Java bean的日期对象

Person.java

import java.io.Serializable;

import java.util.Date;

public class Person implements Serializable {

private String name;

private Date birthday;

private Date createDate;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Date getBirthday() {

return birthday;

}

public void setBirthday(Date birthday) {

this.birthday = birthday;

}

public Date getCreateDate() {

return createDate;

}

public void setCreateDate(Date createDate) {

this.createDate = createDate;

}

}

Test.java

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONObject;

import com.alibaba.fastjson.TypeReference;

import java.text.SimpleDateFormat;

public class Test {

public static void main(String[] args) {

String personJSONStr="{\"name\":\"exampleName\",\"birthday\":\"2012-04-02\",\"createDate\":\"2018.09.22\"}";

JSONObject jsonObject= JSON.parseObject(personJSONStr);

Person person=jsonObject.toJavaObject(new TypeReference(){});

System.out.println(new SimpleDateFormat("yyyMMdd").format(person.getCreateDate()));

}

}

输出:

Connected to the target VM, address: '127.0.0.1:64532', transport: 'socket'

Disconnected from the target VM, address: '127.0.0.1:64532', transport: 'socket'

Exception in thread "main" com.alibaba.fastjson.JSONException: For input string: "2018.09.22"

at com.alibaba.fastjson.util.TypeUtils.castToJavaBean(TypeUtils.java:1048)

at com.alibaba.fastjson.util.TypeUtils.cast(TypeUtils.java:692)

at com.alibaba.fastjson.util.TypeUtils.cast(TypeUtils.java:858)

at com.alibaba.fastjson.JSON.toJavaObject(JSON.java:1019)

at Test.main(Test.java:11)

Caused by: java.lang.NumberFormatException: For input string: "2018.09.22"

at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

at java.lang.Long.parseLong(Long.java:589)

at java.lang.Long.parseLong(Long.java:631)

at com.alibaba.fastjson.util.TypeUtils.castToDate(TypeUtils.java:336)

at com.alibaba.fastjson.util.TypeUtils.castToDate(TypeUtils.java:275)

at com.alibaba.fastjson.util.TypeUtils.cast(TypeUtils.java:747)

at com.alibaba.fastjson.util.TypeUtils.cast(TypeUtils.java:858)

at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.createInstance(JavaBeanDeserializer.java:1180)

at com.alibaba.fastjson.util.TypeUtils.castToJavaBean(TypeUtils.java:1046)

... 4 more

Process finished with exit code 1

解决办法:

修改person类:

import com.alibaba.fastjson.annotation.JSONField;

import java.io.Serializable;

import java.util.Date;

public class Person implements Serializable {

private String name;

@JSONField(format = "yyyy-MM-dd")

private Date birthday;

@JSONField(format = "yyyy.MM.dd")

private Date createDate;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Date getBirthday() {

return birthday;

}

public void setBirthday(Date birthday) {

this.birthday = birthday;

}

public Date getCreateDate() {

return createDate;

}

public void setCreateDate(Date createDate) {

this.createDate = createDate;

}

}

java对象转json字符串日期格式_fastJSON字符串类型数据中的日期转换为Java bean的日期对象...相关推荐

  1. db2有MySQL那样的时间戳_MySQL 按照日期格式查询带有时间戳数据

    按照日期格式查询带有时间戳数据一般在MSQL数据库中的时间都是以时间戳的格式来存储时间的,但是对于我们来说,时间戳格式具体表示的是什么时间,我们很难一眼看出来,所以当我们要具体查询某一个时间或时间段的 ...

  2. java类中声明log对象_用于Android环境,java环境的log打印,可打印任何类型数据

    LogXixi 用于Android环境,java环境的log打印,可打印任何类型数据,根据android项目环境debug环境自动打开,release环境自动关闭android环境log打印,规范be ...

  3. 解决Python自带的json序列化工具不能序列化datetime类型数据问题

    解决Python自带的json序列化工具不能序列化datetime类型数据问题 参考文章: (1)解决Python自带的json序列化工具不能序列化datetime类型数据问题 (2)https:// ...

  4. java 毫秒转成日期格式_java-将字符串和毫秒值转化为日期格式的几种方法

    1. 将毫秒值转换为日期 public void demo1() { //获取当前时间毫秒值 long time = System.currentTimeMillis(); System.out.pr ...

  5. java日期 13,如何将此格式的日期(Tue Jul 13 00:00:00 CEST 2010)转换为Java日期(该字符串来自露天属性)...

    我正在管理一个来自Alfresco Properties的日期,并且在指定的时间(2010年7月13日00:00:00 CEST 2010),我需要将其转换为Java日期--我环顾四周,发现数百万各种 ...

  6. python 日期格式和字符串格式的转化

    startDate = "2018-10-01"endDate = "2018-10-31" ###字符转化为日期startTime = datetime.da ...

  7. POI 读取excel文档中输入日期格式为字符串

    通过cell.getCellStyle().getDataFormat();根据这个值进行时间.日期格式的判断: 时间格式 为了获取用户输入什么格式就显示什么格式,做以下整理: 通过对format值的 ...

  8. (继续搬)struts日期格式的转换以及hibernate中session的关闭在xml中的配置

    1.struts日期格式的转换package cn.sxx.utils;import java.text.ParseException; import java.text.SimpleDateForm ...

  9. linux可以修改日期格式吗,如何在Linux中使用date命令修改日期时间

    Linux中可使用date命令查看修改日期及时间,本例中以CentOS6为例说明. 1.直接输入"date"可查看当前系统日期及时间(普通用户即可执行此命令). 2.输入" ...

最新文章

  1. 网上搜集了点资料,学web的人互相分享共同进步吧(php编码的好习惯必须养成)...
  2. 计算机类专计算机网络基础与应用,2016年秋季学期计算机专业《计算机网络基础(专)》第一次语音答疑.ppt...
  3. [XJOI]最大K段和 题解
  4. ssh、私钥、密钥理解
  5. 数据分析pandas属性实现统计分析
  6. 在WPF中实现玻璃模糊效果
  7. [react] 受控组件和非受控组件有什么区别?
  8. utittest和pytest中mock的使用详细介绍
  9. python爬取电子书
  10. 三菱fx2n64mr说明书_三菱PLC模块FX3U-64MR/DS使用手册
  11. 团队的英文翻译缩写_团队的英语是什么?简写呢?
  12. 看完这篇电磁兼容分层与综合设计法,EMC你还不懂就没救了
  13. Mac多版本jdk的切换
  14. Android OpenGLES滤镜开发之仿抖音灵魂出窍
  15. 北航博士生联培申请经验
  16. java处理导入Excel数据重复数据,整理后在导入
  17. 数百个HTML5例子学习HT图形组件 – 3D建模篇
  18. python制作电子相册_可以把照片做成视频吗,制作电子相册就是这么简单
  19. 烧写OriginBot SD卡镜像后X3pi无法启动
  20. 京东java多级缓存_多级缓存设计详解 | 给数据库减负,刻不容缓!

热门文章

  1. blast | diamond 输出结果选择和解析 | 比对
  2. Outlook for Mac v15.36(170606)发布:新增收藏夹功能
  3. CoreOS 和 Kubernetes 1.5 自主运行 Kubernetes、Container Linux
  4. 图(1)——图的定义和基本概念
  5. 一周的微信公众平台接口开发总结
  6. 自定义ClassLoader实现java应用核心逻辑模块热部署
  7. 用于参考的学生信息管理系统(数据库简单 可自己参考创建)
  8. 设计模式之间可以相互功能替换吗?
  9. 不同版本gene ID比较
  10. gtf与gff3文件【格式】【转换】