fastjson设置指定日期属性的格式化

简介: fastjson默认将时间格式化为时间戳,如果我们想以时间字符串格式输出的话,暂提供两种方式1.序列化器方式声明DateJsonSerializerpublic class DateJsonSerializer implements Object...

fastjson默认将时间格式化为时间戳,如果我们想以时间字符串格式输出的话,暂提供两种方式

1.序列化器方式

声明DateJsonSerializer

public class DateJsonSerializer implements ObjectSerializer {
    @Override
    public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType,int features) throws IOException {
        SerializeWriter out = serializer.getWriter();
        if (object == null) {
            serializer.getWriter().writeNull();
            return;
        }
        out.write("\"" + DateUtil.date2Str(((Date)object),"yyyy-MM-dd") + "\"");
    }
}

解析时使用DateJsonSerializer

 SerializeConfig config = new SerializeConfig();
 config.put(Date.class, new DateJsonSerializer());

 return JSONObject.parseObject(JSON.toJSONString(data, config));

但是上面的解决方案面临一个问题,如果不满足上面的条件(多个date属性,而且需要按照不定的格式序列化这些日期属性),那么我们就需要另辟蹊径,使用fastjson的特性来完成:

2.bean字段声明方式

@JSONField(format="yyyyMMdd")
    private Date date2;
@JSONField(format="yyyy-MM-dd HH:mm:ss")
    private Date date3;
目录
相关文章
|
10月前
Element Plus 日期选择器 获取选中的日期的格式(当前日期/时间戳格式)
Element Plus 日期选择器 获取选中的日期的格式(当前日期/时间戳格式)
347 0
|
10月前
|
Java
Hutool实现日期时间获取、转换、格式化
Hutool实现日期时间获取、转换、格式化
1439 0
|
11月前
|
fastjson Java
fastjson全局日期序列化设置导致JSONField无效
fastjson通过代码指定全局序列化返回时间格式,导致使用JSONField注解标注属性的特殊日期返回格式失效
146 0
|
12月前
|
人工智能 Java
Java 获取当前日期并且实现日期的格式化
Java 获取当前日期并且实现日期的格式化
|
SQL 前端开发 fastjson
使用 fastjson 转换 Date 格式的数据,默认是时间戳,更改为 年-月-日 的方法
使用 fastjson 转换 Date 格式的数据,默认是时间戳,更改为 年-月-日 的方法
915 0
|
JSON Java 数据格式
Jackson 统一配置 日期转换格式
Jackson 统一配置 日期转换格式
Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
606 0
Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
Java:时间戳获取和日期时间格式化
Java:时间戳获取和日期时间格式化
218 0
|
JSON 数据格式
JSON处理Date格式
JSON处理Date格式
471 0
|
Java
Java工具类之日期相关
Scanner类 1.所属的包java.util包 需要import导包 2.通过一个带输入流的构造方法创建对象 3.常用方法 nextInt() nextFloat() next() nextLine() System类 1.所属的包java.lang包 不需要导入 2.不需要创建对象 通过类名就可以访问 3.有三个属性及若干的方法 三个属性out in err 方法gc() exit(0); currentTimeMillis(); 日期相关 Date类 1.通常使用的是ja
76 0
Java工具类之日期相关

热门文章

最新文章