zoukankan      html  css  js  c++  java
  • SpringMVC返回Json,自定义Json中Date类型格式

    http://www.cnblogs.com/jsczljh/p/3654636.html

    ————————————————————————————————————————————————————————————

    SpringMVC返回Json,自定义Json中Date类型格式

    SpringMVC返回Json数据依赖jackson这个开源的第三方类库。

    若不加任何说明情况下Date类型将以时间戳的形式转换为Json并返回。

    jackson提供了一些自定义格式的方法。我们只需继承它的抽象类JsonSerializer<T> ,并在指定的属性方法上添加注解@JsonSerialize即可实现。

    1.编写Date转换类(yyyy-MM-dd)

    public class CustomDateSerializer extends JsonSerializer<Date>
    {
        public void serialize(Date date, JsonGenerator gen, SerializerProvider provider)throws IOException, JsonProcessingException
        {
            SimpleDateFormat format =new SimpleDateFormat("yyyy-MM-dd");
            String formattedDate = format.format(date);
            gen.writeString(formattedDate);
        }
    }

     

     2.javabean中对应属性的get()方法添加注解

    package com.easyui.model;
     
    import java.util.Date;
     
    import org.codehaus.jackson.map.annotate.JsonSerialize;
    import org.springframework.format.annotation.DateTimeFormat;
     
    import com.easyui.utils.CustomDateSerializer;
     
    public class User {
        private Integer id;
     
        private String username;
     
        private String password;
     
        private String realname;
     
        private String sex;
     
        private Date birthday;
     
        public int getId() {
            return id;
        }
     
        public void setId(Integer id) {
            this.id = id;
        }
     
        public String getUsername() {
            return username;
        }
     
        public void setUsername(String username) {
            this.username = username;
        }
     
        public String getPassword() {
            return password;
        }
     
        public void setPassword(String password) {
            this.password = password;
        }
     
        public String getRealname() {
            return realname;
        }
     
        public void setRealname(String realname) {
            this.realname = realname;
        }
     
        public String getSex() {
            return sex;
        }
     
        public void setSex(String sex) {
            this.sex = sex;
        }
     
        @JsonSerialize(using=CustomDateSerializer.class)
        public Date getBirthday() {
            return birthday;
        }
     
        public void setBirthday(Date birthday) {
            this.birthday = birthday;
        }
    }

     

    至此,就可以实现返回的JSON数据中日期格式自动转换为:yyyy-MM-dd 的格式

  • 相关阅读:
    防止浏览器记住用户名及密码的简单实用方法
    读懂CommonJS的模块加载
    gitHub上如何设置或者取消电子邮箱提醒
    echarts如何修改数据视图dataView中的样式
    vue中使用base64和md5
    java的特点
    java 运算符
    有关于分布式和SOA的理解
    WebService到底是什么
    并行计算、分布式计算和云计算的区别
  • 原文地址:https://www.cnblogs.com/cuizhf/p/3791163.html
Copyright © 2011-2022 走看看