zoukankan      html  css  js  c++  java
  • 使用Jackson时转换JSON时,日期格式设置

    1.普通的方式:

    默认是转成timestamps形式的,通过下面方式可以取消timestamps。

    objectMapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
     
     这样将使时间生成使用所谓的use a [ISO-8601 ]-compliant notation, 输出类似如下格式的时间: "1970-01-01T00:00:00.000+0000".

    当然也可以自定义输出格式:

     
    objectMapper.getSerializationConfig().setDateFormat(myDateFormat);
     
    myDateFormat对象为java.text.DateFormat,具体使用清查java API

    SimpleDateFormat myDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    objectMapper.getSerializationConfig().setDateFormat(myDateFormat);
    
    

    2.annotaion的注释方式:

    先定义自己需要的格式,例如:

    Java代码

    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;
    
    /**
     *  java日期对象经过Jackson库转换成JSON日期格式化自定义类
     * @author yuruli
     * @date 2010-7-25
     */
    public class CustomDateSerializer extends JsonSerializer {
    
            @Override
            public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
                    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
                    String formattedDate = formatter.format(value);
                    jgen.writeString(formattedDate);
            }
    }

    然后在你的POJO上找到日期的get方法

    @JsonSerialize(using = CustomDateSerializer.class)
    public Date getCreateAt() {
         return createAt;
    }
  • 相关阅读:
    字典的创建以及操作
    对列表的操作
    python中列表中元素的增删改查
    pycharm中代码整体缩进
    pycharm的简介
    break,continue的区别
    python_字符串的格式化输出
    Zabbix安装图解教程
    性能瓶颈定位整体思路
    数据库监控的指标
  • 原文地址:https://www.cnblogs.com/stromluo/p/8543694.html
Copyright © 2011-2022 走看看