问题出现如下:
问题出现原因:
默认序列化情况下会使用SerializationFeature.WRITE_DATES_AS_TIMESTAMPS。使用这个解析时就会打印出数组。
解决方法:
1.前端自定义函数来书写
,cols: [[ //表头
{type: 'checkbox', fixed: 'left'}
,{field: 'purchaseId', title: 'ID', sort: true, fixed: 'left',hide:true}
,{field: 'supplierName', title: '供应商名称',sort: true}//当field是直属属性时,可以不用temple去获取!
,{field: 'userName', title: '采购员', sort: true}
,{field: 'purchaseDate', title: '采购时间',sort: true,templet:function(resp){
return dateArrayTransfer(resp.purchaseDate,'yyyy-MM-dd HH:mm:ss');
}}
,{fixed:'right',title:'操作',toolbar:'#operatBtn'}
function dateArrayTransfer(dateArray) {
if(dateArray == null || dateArray == ''){
return '';
}
var returnDate = dateArray[0]+"-"+
returnDoubleNum(dateArray[1])+"-"+
returnDoubleNum(dateArray[2])+" "+
returnDoubleNum(dateArray[3])+":"+
returnDoubleNum(dateArray[4])+":"+
returnDoubleNum(dateArray[5]);
return returnDate;
}
//保证两位数
function returnDoubleNum(number) {
return (Array(2).join(0) + number).slice(-2);//创建一个长度为2的数组,且默认用0填充;然后用传过来的数添加都右边,然后从右向左截取两位!
}
2.后端处理:
两个方法
在WebMvcConfig配置类中扩展Spring Mvc的消息转换器,在此消息转换器中使用提供的对象转换器进行Java对象到json数据的转换():
package com.aqiuo.config;
import com.aqiuo.Interceptor.LoginInterceptor;
import com.aqiuo.Interceptor.RefreshInterceptor;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.HttpOutputMessage;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.HttpMessageNotWritableException;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.List;
/**
* 配置访问拦截器
*/
@Configuration
public class MVCConfig implements WebMvcConfigurer {
@Autowired
StringRedisTemplate stringRedisTemplate;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoginInterceptor(stringRedisTemplate)).addPathPatterns("/class").addPathPatterns("/course").excludePathPatterns("/user/login").excludePathPatterns("/user/register");
registry.addInterceptor(new RefreshInterceptor(stringRedisTemplate)).addPathPatterns("/**");
}
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
ObjectMapper objectMapper = jackson2HttpMessageConverter.getObjectMapper();
// 不显示为null的字段
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
SimpleModule simpleModule = new SimpleModule();
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
objectMapper.registerModule(simpleModule);
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
jackson2HttpMessageConverter.setObjectMapper(objectMapper);
// 放到第一个
converters.add(0, jackson2HttpMessageConverter);
}
}
@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") // 表示返回时间类型
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") // 表示接收时间类型
@ApiModelProperty(value = "注册时间")
private LocalDateTime date;
原文地址:https://blog.csdn.net/m0_62645012/article/details/134580540
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_5161.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。