总结:
注解@JsonFormat主要是后台到前台的时间格式的转换
注解@DataFormAT主要是前后到后台的时间格式的转换
@JSONField 是解决
UserDto dto = JSONObject.parseObject(strJson, UserDto.class); 解决从Json里面取出来的时间戳 为1970的问题
public class FastJsonLocalDateTimeDeserializer implements ObjectDeserializer { private static List<DateTimeFormatter> dateTimeFormatters = new LinkedList<>(); static { // Add your own formatter to there dateTimeFormatters.add(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); dateTimeFormatters.add(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS")); dateTimeFormatters.add(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS")); dateTimeFormatters.add(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSSSSS")); } @SuppressWarnings("unchecked") @Override public LocalDateTime deserialze(DefaultJSONParser parser, Type type, Object fieldName) { final Long input = parser.lexer.longValue(); LocalDateTime localDateTime = null; localDateTime=LocalDateTime.ofEpochSecond(input,0,ZoneOffset.of("+8")); Assert.notNull(localDateTime, "FastJson LocalDateTime use" + " FastJsonTimestampDeserializer format error: " + input); return localDateTime; } @Override public int getFastMatchToken() { return JSONToken.LITERAL_INT; } }