springboot 集成fastjson 以及处理Date和json数据的转换
2019-07-05 16:08
1236 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_25811101/article/details/94738988
springboot 集成fastjson 以及处理Date和json数据的转换
1.引入fastjson
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.32</version> </dependency>
2.写一个配置类,在配置类中设置fastjson的规则
@Configuration public class HttpConverterConfig{ @Bean public HttpMessageConverters fastJsonConfigure(){ // 1.需要先定义一个convert 转换消息的对象 FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); // 2.添加fastJson的配置信息,比如,是否需要格式化返回的json数据 FastJsonConfig fastJsonConfig = new FastJsonConfig(); // 空值特别处理 // WriteNullListAsEmpty 将Collection类型字段的字段空值输出为[] // WriteNullStringAsEmpty 将字符串类型字段的空值输出为空字符串 "" // WriteNullNumberAsZero 将数值类型字段的空值输出为0 // WriteNullBooleanAsFalse 将Boolean类型字段的空值输出为false // DisableCircularReferenceDetect 消除对同一对象循环引用的问题,默认为false(如果不配置有可能会进入死循环) fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat, SerializerFeature.WriteNullListAsEmpty, SerializerFeature.DisableCircularReferenceDetect, SerializerFeature.WriteNullStringAsEmpty); //日期格式化 // fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); // 处理中文乱码问题 List<MediaType> fastMediaTypes = new ArrayList<>(); fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); fastConverter.setSupportedMediaTypes(fastMediaTypes); // 3.在convert中添加配置信息 fastConverter.setFastJsonConfig(fastJsonConfig); return new HttpMessageConverters(fastConverter); } } Date类型数据转化有两种方式: 第一种就是在配置类中直接定义日期格式(全局统一一种格式时推荐使用) fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); 第二种在字段上进行注解(灵活性大,可根据情况不同字段设置不同的时间格式) @DateTimeFormat( pattern = "yyyy-MM-dd HH:mm:ss" ) **注:若不加这个,从页面往后台传值时会报错** @JSONField(format="yyyy-MM-dd HH:mm:ss") private Date inTime;
3.测试代码:
@RequestMapping("/addUserTest") @ResponseBody public List<UserInfoDomain> addUserTest(){ List<UserInfoDomain> list = new ArrayList<UserInfoDomain>(); for (int i = 0; i < 5; i++) { UserInfoDomain userInfoDomain = new UserInfoDomain(); userInfoDomain.setUserId(JavaTools.getUUid()); userInfoDomain.setPhone("132616888"+(i<10?"0"+i:i)); userInfoDomain.setStatus(i/2==0?"02":"01"); userInfoDomain.setDepartment("666"+(i<10?"0"+i:i)); userInfoDomain.setEmail("888888@qq.com"); userInfoDomain.setRealName("王五"+(i<10?"0"+i:i)); userInfoDomain.setUsername("username"+(i<10?"0"+i:i)); userInfoDomain.setPassword("8888"+(i<10?"0"+i:i)); userInfoDomain.setSex(i/3==0?"02":"01"); userInfoDomain.setInTime(new Date()); // int n = userInfoService.insert(userInfoDomain); list.add(userInfoDomain); } return list; } 测试结果: [{"userId":"60a1dd97ef124b7589658f0f9586dd25","username":"username00","password":"888800","phone":"13261683600","sex":"02","email":"736981331@qq.com","inTime":"2019-07-05T07:55:40.673+0000","status":"02","department":"66600","realName":"王五00"}, {"userId":"cf6137a0505740ee8035caac7609ce52","username":"username01","password":"888801","phone":"13261683601","sex":"02","email":"736981331@qq.com","inTime":"2019-07-05T07:55:40.673+0000","status":"02","department":"66601","realName":"王五01"}, {"userId":"416e5c59e80841ecb23b07799c322f33","username":"username02","password":"888802","phone":"13261683602","sex":"02","email":"736981331@qq.com","inTime":"2019-07-05T07:55:40.673+0000","status":"01","department":"66602","realName":"王五02"}, {"userId":"e743950bb2ca42a1b4cfef4346df9392","username":"username03","password":"888803","phone":"13261683603","sex":"01","email":"736981331@qq.com","inTime":"2019-07-05T07:55:40.673+0000","status":"01","department":"66603","realName":"王五03"}, {"userId":"dc9be733cee840b0a38941599723ebb2","username":"username04","password":"888804","phone":"13261683604","sex":"01","email":"736981331@qq.com","inTime":"2019-07-05T07:55:40.673+0000","status":"01","department":"66604","realName":"王五04"}]
相关文章推荐
- spring boot最新教程(四):返回json数据以及集成fastjson的使用
- 【Spring-boot 】FastJson对json数据进行解析(类型转换)
- 第三章 SpringBoot中对于JSON数据的返回以及处理(一)
- 第四章 SpringBoot对于JSON数据的返回以及处理(二)
- spring boot @ResponseBody转换JSON 时 Date 类型处理方法【两种方法】
- spring boot 使用fastjson 处理json数据中文乱码 默认使用 ISO-8859-1编码格式
- spring boot新手教程之使用FastJson解析JSON数据以及解决返回中文乱码问题
- 【第15篇】通过FastJson把字符串转换成JSON和Map和List对象处理json数据
- 通过FastJson把字符串转换成JSON和Map和List对象处理json数据
- spring boot get和post请求,以及requestbody为json串时候的处理
- springboot @RequestBody使用JsonSerialize与 JsonDeserialize自定义转参数,处理Date日期格式
- Spring Boot完美使用FastJson解析JSON数据(十三)
- SpringBoot学习:Spring Boot使用FastJson解析JSON数据
- Spring boot处理Long类型的Json数据,前端调用精度丢失
- spring-boot 接口请求之Date、LocalDate、LocalDateTime日期类型转换处理
- fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map
- SpringBoot学习之统一异常处理、404处理以及集成Swagger2
- Spring Boot 日期数据格式转换@JsonFormat实例
- Spring Boot使用FastJson解析JSON数据的方法
- SpringBoot入门-4(返回fastjson数据)