码迷,mamicode.com
首页 > Web开发 > 详细

Jackson JSON对日期格式的解析设置

时间:2019-02-03 15:31:43      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:交互   系统   gen   flow   jquer   javascrip   ati   rip   on()   

服务器端:采用Spring MVC3 + MyBatis3架构设计,使用Jackson JSON将Java对象转换成JSON格式;

Spring:3.2.2.RELEASE

MyBatis:3.2.1

mybatis-spring:1.2.0

前端:采用jQuery EasyUI框架,使用 jquery-json-2.4.js 将javascript对象转换成JSON格式;

交互方式:服务器端和前端采用json格式进行数据交互。

遇到问题:服务器端对Java对象序列化后,日期格式为一长串数字(如下图),前端接收之后需要转码,很麻烦。于是想到从Jackson JSON框架着手解决。

技术图片

解决方案:

设置Jackson JSON的对日期的序列化格式即可,代码如下:

[java] view plaincopy
 
  1. //设置日期格式  
  2. SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  3. mapper.setDateFormat(fmt);  
  4.   
  5. //后续转换  
  6. ...  
  7. json = mapper.writeValueAsString(obj);  
  8. ...  

这样设置之后,得到的JSON格式中,日期就变成了“2013-03-25 10:20:00”这样的格式。

前端需要将日期编码成毫秒数,发送到服务器,Jackson JSON才能正确解析,否则提示无法转换成Date类型。

可以使用Javascript的Date函数的getTime()方法即可,例如:

[javascript] view plaincopy
 
  1. var d = new Date($("#userBirthday").datebox(‘getValue‘));  
  2. //var d = new Date();  
  3. u.userBirthday = d.getTime(); //将日期转换成毫秒数  

这样,服务端将日期做成字符串写到JSON中传到前端,前端将日期转换成毫秒数发送到服务器端,这样程序就能正常工作了。

最后上个图看看(自己闲着没事,搭建的这个系统框架,旨在学习Spring、MyBatis、Maven、jQuery、jQuery EasyUI):

技术图片

后附上一个简单的例子:Javascript对象转换为JSON

 

[html] view plaincopy
 
  1. <html>  
  2. <head>  
  3.     <title>用户管理</title>  
  4.     <script type="text/javascript" src="jquery-1.9.1.js"></script>  
  5.     <script type="text/javascript" src="jquery.json-2.4.js"></script>  
  6.     <script>  
  7.         function jsObjToJson()  
  8.         {  
  9.             var o = new Object();  
  10.             var d = new Date();  
  11.   
  12.             o.id = "1";  
  13.             o.name = "总公司";  
  14.             o.timestamp = d.getTime(); //将日期转换成毫秒数  
  15.   
  16.             var postData = ‘reqJson=‘ + $.toJSON(o); //转换成json格式  
  17.             alert(postData);  
  18.         }  
  19.     </script>  
  20. </head>  
  21. <body>  
  22.     <h3>Javascript对象转换成JSON</h3>  
  23.     <input type="button" value="测试" onclick="jsObjToJson()" />  
  24. </body>  
  25. </html>  

 

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

Jackson JSON对日期格式的解析设置

标签:交互   系统   gen   flow   jquer   javascrip   ati   rip   on()   

原文地址:https://www.cnblogs.com/skinchqqhah/p/10350412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!