zoukankan      html  css  js  c++  java
  • JSON Gson的LocalDateTime和String转化

    package com.bitsun.bizcenter.ic.api.config;
    
    import com.google.gson.*;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import java.time.LocalDate;
    import java.time.LocalDateTime;
    import java.time.format.DateTimeFormatter;
    
    /**
     * @author leizige
     */
    @Configuration
    public class GSONConfiguration {
    
        //序列化
        final static JsonSerializer<LocalDateTime> jsonSerializerDateTime = (localDateTime, type, jsonSerializationContext) -> new JsonPrimitive(localDateTime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
        final static JsonSerializer<LocalDate> jsonSerializerDate = (localDate, type, jsonSerializationContext) -> new JsonPrimitive(localDate.format(DateTimeFormatter.ISO_LOCAL_DATE));
        //反序列化
        final static JsonDeserializer<LocalDateTime> jsonDeserializerDateTime = (jsonElement, type, jsonDeserializationContext) -> LocalDateTime.parse(jsonElement.getAsJsonPrimitive().getAsString(), DateTimeFormatter.ISO_LOCAL_DATE_TIME);
        final static JsonDeserializer<LocalDate> jsonDeserializerDate = (jsonElement, type, jsonDeserializationContext) -> LocalDate.parse(jsonElement.getAsJsonPrimitive().getAsString(), DateTimeFormatter.ISO_LOCAL_DATE);
    
        @Bean
        public Gson create() {
            return new GsonBuilder()
                    .setPrettyPrinting()
                    /* 更改先后顺序没有影响 */
                    .registerTypeAdapter(LocalDateTime.class, jsonSerializerDateTime)
                    .registerTypeAdapter(LocalDate.class, jsonSerializerDate)
                    .registerTypeAdapter(LocalDateTime.class, jsonDeserializerDateTime)
                    .registerTypeAdapter(LocalDate.class, jsonDeserializerDate)
                    .create();
        }
    }
    
  • 相关阅读:
    记一下后续要看的点
    vue 封装request.js
    shuf命令简单用法
    Redis string 字符串
    Redis 事务操作
    Redis Zset 有序集合
    php操作redis的一些基本操作
    pytest自动化测试入门介绍
    idea&myeclipse 自动生成serialVersionUID
    leetCode1104. 二叉树寻路(medium)
  • 原文地址:https://www.cnblogs.com/leizzige/p/13367286.html
Copyright © 2011-2022 走看看