使用 @JsonSerialize 转换日期

springmvc 在将日期对象转换为字符串时, 一般默认会转换为长整型,假如我们需要自己定义格式,通常会写一个类继承JsonSerializer
假如在对象中需要将日期转换为我们需要的格式可以在对应的实体对象的get方法中使用注解

 

自定义转换类:

public class JsonDateTypeConvert extends JsonSerializer<Date>{
	/**
	 * @param value 是要转换的日期
	 * @param gen 为一个json对象生成器
	 * */
	@Override
	public void serialize(Date value,JsonGenerator gen, SerializerProvider serializers)throws IOException, JsonProcessingException {
		//定义日期字符串转换对象
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
		//将日期转换为指定格式字符串
		String dateStr = sdf.format(value);
		//将此字符串写入到json对象中
		gen.writeString(dateStr);
	}
}

实体类的get 方法中加上注解

	@JsonSerialize(using=JsonDateTypeConvert.class)
	public Date getBeginDate() {
		return beginDate;
	}

	@JsonSerialize(using=JsonDateTypeConvert.class)
	public Date getEndDate() {
		return endDate;
	}

PS:

     *    在获取日期的get方法上注解:
     *    @JsonSerialize(using=JsonDateTypeConvert.class)
     *          using 属性:指定使用哪个类解析、

     *
     * 使用场景:
     *    当本类对象在Controller 中将要被转换成Json格式时 (内部会调用get方法取出转换json格式)
     *    而被注解的类方法返回值,会被我们自定义的类所解析成指定的字符串格式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值