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();
        }
    }
    
  • 相关阅读:
    npm包发布过程
    react树状组件
    js数据结构处理--------扁平化数组处理为树结构数据
    js数据结构处理--------树结构数据遍历
    JS fetch
    JS promise
    JS 闭包
    JS 异步回调
    三角形加正方形
    webAPI的分类
  • 原文地址:https://www.cnblogs.com/leizzige/p/13367286.html
Copyright © 2011-2022 走看看