spring mvc3中JACKSON序列化日期格式的问题 - 墙头草的Java - BlogJava
请看例子:
1) 比如有一个POJO
package com.loiane.model;
import java.util.Date;
import org.codehaus.jackson.annotate.JsonAutoDetect;
@JsonAutoDetect
@Entity
public class Company {
private int id;
private double price;
private String company;
private Date date;
private String size;
private byte visible;
}
2)在controller中,返回一个MAP
public @ResponseBody Map<String,List<Company>> view() throws Exception
3) 于是SPIRNG MVC返回如下的JSON字符:
{"total":27,"data":[{"price":71.72,"company":"3m Co","visible":1,"id":1,"size":"large","date":1188615600000},{"price":29.01,"company":"Aloca
Inc","visible":0,"id":2,"size":"medium","date":1185937200000},{"price":83.81,"company":"Altria Group
Inc","visible":0,"id":3,"size":"large","date":1186110000000
。。。。。。。。。。。。。。。。
4) 可以看到,返回的时间格式不大好看
5)于是,可以这样设置:
@JsonSerialize(using=JsonDateSerializer.class)
public Date getDate() {
return date;
}
其中 JsonDateSerializer是新编写的类,继承了JsonSerializer
import java.io.IOException;集装箱运费
import java.text.SimpleDateFormat;
import java.util.Date;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
import org.springframework.stereotype.Component;
@Component
public class JsonDateSerializer extends JsonSerializer<Date>{
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy");
@Override
public void serialize(Date date, JsonGenerator gen, SerializerProvider provider)
throws IOException, JsonProcessingException {
String formattedDate = dateFormat.format(date);
gen.writeString(formattedDate);
}
}
很简单,格式化一下,这下输出JSON就可以了
{"total":27,"data":[{"price":71.72,"company":"3m Co","visible":1,"id":1,"size":"large","date":"09-01-2007"},{"price":29.01,"company":"Aloca
Inc","visible":0,"id":2,"size":"medium","date":"08-01-2007"},{"price":83.81,"company":"Altria Group
Inc","visible":0,"id":3,"size":"large","date":"08-03-2007"},{"price":52.55,"company":"American Express Company","visible":1,"id":4,"size":"extraTP LINK路由器无线信号能传送多少米
large","date":"01-04-2008"},{"price":64.13,"company":"American International Group
Inc.","visible":1,"id":5,"size":"small","date":"03-04-2008"},{"price":31.61,"company":"AT&T Inc.","visible":0,"id":6,"size":"extra
large","date":"02-01-2008"},{"price":75.43,"company":"Boeing Co.","visible":1,"id":7,"size":"large","date":"01-01-2008"},{"price":67.27,"company":"Caterpillar
Inc.","visible":1,"id":8,"size":"medium","date":"12-03-2007"},{"price":49.37,"company":"Citigroup,
Inc.","visible":1,"id":9,"size":"large","date":"11-24-2007"},{"price":40.48,"company":"E.I. du Pont de Nemours and Company","visible":0,"id":10,"size":"extra
large","date":"05-09-2007"}],"success":true}
spring mvc3中JACKSON序列化日期格式的问题 - 墙头草的Java - BlogJava相关推荐
- R语言将数据列中的多种日期格式统一变化为一种固定格式实战:使用lubridate包中的parse_date_time函数
R语言将数据列中的多种日期格式统一变化为一种固定格式实战:使用lubridate包中的parse_date_time函数 目录
- Layui框架 中table解决日期格式问题
Layui框架 中table解决日期格式问题 参考文章: (1)Layui框架 中table解决日期格式问题 (2)https://www.cnblogs.com/slacker-z/p/996347 ...
- js中时间戳与日期格式的相互转换
下面总结一下js中时间戳与日期格式的相互转换: 1. 将时间戳转换成日期格式: 1 2 3 4 5 6 7 8 9 10 11 12 function timestampToTime(timestam ...
- python日期格式转换_python中有关时间日期格式转换问题
每次遇到pandas的dataframe某列日期格式问题总会哉坑,下面记录一下常用时间日期函数.... 1.字符串转化为日期 str->date import datetime date_str ...
- php date hi,php中时间戳和日期格式的转换
原文:php中时间戳和日期格式的转换 一,PHP时间戳函数获取指定日期的unix时间戳 strtotime("2009-1-22″) 示例如下: echo strtotime("2 ...
- android 时间戳 转日期格式,在Android中转换为简单日期格式或Unix时间戳日期?
我收到日期(2015-03-20T06:34:01.831183 + 01:00)从服务器这不是简单的日期格式,我想这种类型的日期转换为简单的日期格式一样(yyyyMMddHHmmssSSSS)在An ...
- EXCEL中如何将日期格式转换为文本格式
日期格式的单元格内容应当如何转换为文本格式呢? 本文将针对日期格式和文本格式的转换进行简要讲解. 工具/原料 EXCEL 方法/步骤 如本例,A列中列示的内容为日期格式,要求将A列中的日期格式转换为文 ...
- php用什么服务器系统时间格式,php中时间戳和日期格式的转换
一,PHP时间戳函数获取指定日期的unix时间戳 strtotime("2009-1-22″) 示例如下: echo strtotime("2009-1-22″) 结果:12325 ...
- JavaScript 中如何将日期格式化为 DD/MM/YYY
在 JavaScript 中要将日期格式化为 dd/mm/yyyy .需要遵循以下步骤: 使用 getDate().getMonth() 和 getFullYear() 方法获取特定日期的日.月和年. ...
最新文章
- nod32用户名和密码每天更新_忘记登录密码没有U盘怎么办?无U盘重置密码Win7篇
- 敏捷和DevOps词汇表
- 【转载保存】java 23种设计模式 深入理解
- header里面加值如何去掉引号_用ods tagsets.rtf 产生的表,怎么去掉页尾处的空白?...
- JavaScript反向shell
- VS远程Linux项目附加pthread
- Hibernate之分页查询
- java中绘制长方形,椭圆形,圆形的方法
- toastr弹出提示窗口的使用
- n 个元素顺序入栈,则可能的出栈序列有多少种?转
- php pcre回溯攻击,PHP利用PCRE回溯次数限制绕过某些安全限制
- NBT:根际微生物组抗番茄枯萎病(IF:35.724)
- SOLD2算法详解之1 backbone(CVPR2021 源码解析)
- 2021道路运输企业主要负责人安全考核试题
- codeforces 407C Curious Array 数学
- 树形DP--bzoj4987: Tree
- android短信接收处理和发送
- python红楼梦作者_用 Python 分析《红楼梦》,后四十回是曹雪芹所写吗?(开源)...
- 2022RWCTF体验赛web的wp
- uni-app修改代码,微信开发者工具不更新