Ви не можете вибрати більше 25 тем
Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
35 рядки
1.4 KiB
35 рядки
1.4 KiB
package com.bstek.ureport.console;
|
|
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
|
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
|
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
|
import org.codehaus.jackson.map.SerializationConfig;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.time.LocalDateTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.util.TimeZone;
|
|
|
|
/**
|
|
* @author nelson
|
|
* @version 1.0
|
|
* @desc 扩展json格式化,支持java8 LocalDateTime
|
|
* @company 北京中经网软件有限公司
|
|
* @date 2021/7/12 18:08
|
|
*/
|
|
public class JsonMapper extends ObjectMapper {
|
|
public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
|
|
|
|
public JsonMapper() {
|
|
this.setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
|
this.setDateFormat(new SimpleDateFormat(DEFAULT_DATE_TIME_FORMAT));
|
|
this.setTimeZone(TimeZone.getTimeZone("GMT+8"));
|
|
JavaTimeModule javaTimeModule = new JavaTimeModule();
|
|
javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT)));
|
|
javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT)));
|
|
|
|
this.registerModule(javaTimeModule);
|
|
}
|
|
}
|
|
|