zoukankan      html  css  js  c++  java
  • @JsonFormat的导包问题

    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")//注解可以以该格式注入格式
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")//输出格式
    private Date birthday;//出生日期',

    在后台像前台传参数时,日期没有格式化,网上搜索了,输出用@JsonFormat但是没说用哪个包

    下面是我脱坑之路:
    import com.fasterxml.jackson.annotation.JsonFormat;
    import org.springframework.format.annotation.DateTimeFormat;

    <!-- JSON: jackson -->
    <dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-core-asl</artifactId>
    <version>1.9.12</version>
    </dependency>
    <dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-lgpl</artifactId>
    <version>1.9.12</version>
    </dependency>
    <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.0</version>
    </dependency>

    问题补充:我想要的是返回给前台的时间已经格式化,然而上面并没有解决我的问题于是:

    方法如下:

    单独写一个处理类继承JsonSerializer

    package com.szch.aspect;

    import org.codehaus.jackson.JsonGenerator;
    import org.codehaus.jackson.JsonProcessingException;
    import org.codehaus.jackson.map.JsonSerializer;
    import org.codehaus.jackson.map.SerializerProvider;

    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    /**
    * 格式化Response时间格式
    * 在springmvc返回json数据的时候默认日期字段显示的是long类型的时间戳
    * 如果想要返回格式化的日期如:yyyy-MM-dd这种格式的需要进行出现
    */
    public class CustomDateSerializer extends JsonSerializer<Date> {

    public void serialize(Date value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException{
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    jsonGenerator.writeString(sdf.format(value));
    }
    }
     

    在实体类的属性字段上添加@JsonSerialize注解

    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")//注解可以以该格式注入格式
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")//输出格式
    @JsonSerialize(using = CustomDateSerializer.class)
    private Date lastLogin;//最后登录时间',

    结果OK了,postman返回
    
    


  • 相关阅读:
    Jquery easyui中的有效性检查
    当执行批量删除时
    nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1044 > 1024
    java的四种取整方法
    springmvc乱码解决
    跨域
    垂直居中
    js判断数组
    安装 node-sass 的正确姿势
    js判断qq浏览器
  • 原文地址:https://www.cnblogs.com/zeussbook/p/9459028.html
Copyright © 2011-2022 走看看