SpringBoot 整合 Gson、FastJson

1. Soringboot 自带的 json-databind 处理器
我们新建一个工程,删除红色框的
SpringBoot 整合 Gson、FastJson_第1张图片
pom.xm如下
SpringBoot 整合 Gson、FastJson_第2张图片
1原本是spring-boot-starter 换成spring-boot-starter-web 是因为前者没有依赖springmvc
SpringBoot 整合 Gson、FastJson_第3张图片
改后,不仅依赖了 webmvc 还 依赖了 json-databind json 处理器,此时不需要添加 JSON就可以返回一段json了
SpringBoot 整合 Gson、FastJson_第4张图片
启动项目发现,这个报错,前面maven依赖中没有依赖spring-boot-starter-test,所以我们这里把红色框的删去,可以保留着,加上 spring-boot-starter-test 就可以了
SpringBoot 整合 Gson、FastJson_第5张图片
去掉后启动成功
SpringBoot 整合 Gson、FastJson_第6张图片
接下来我们新建两个包,都建在com.jonathan.makejsonconvert包下,并建实体和rest,如图
实体内容如2
SpringBoot 整合 Gson、FastJson_第7张图片
UserRest 如下,此时可以启动项目
SpringBoot 整合 Gson、FastJson_第8张图片
大家这里留意一下红色框的时间,没有处理过是这样子的
SpringBoot 整合 Gson、FastJson_第9张图片
此时我们在实体中 proctm 上加入json-databind 的注解 @JsonFormat(pattern=“yyyy-MM-dd”),再次启动访问时间如下格式
SpringBoot 整合 Gson、FastJson_第10张图片

2. Soringboot 整合Gson
Gson 是Google 开源的json 解析框架,先排除json-jsonbind 依赖,引入 Gson 依赖
SpringBoot 整合 Gson、FastJson_第11张图片
在spring 中我们可以看到Gson ,Json 的自动转换类 *HttpMessageConverter ,所以就不用我们去写转换类就能解析Json,当人我们也可以自定义json转换器SpringBoot 整合 Gson、FastJson_第12张图片
在SpringBoot 中注入 红色 1的意思是:项目中若没有手动配置这个,则自动使用默认的SpringBoot 整合 Gson、FastJson_第13张图片
现在我们建一个类 和内容 设置Gson 解析时间 ,此时我们去掉 User实体 上的注释
SpringBoot 整合 Gson、FastJson_第14张图片
启动访问一样的效果SpringBoot 整合 Gson、FastJson_第15张图片
在GsonBuilder这个类里面发现excludeFieldsWithModifiers()这个方法 注解可以知道 将gson配置为排除具有指定修饰符的所有类字段。默认情况下,gson将排除所有标记为transient或static的字段SpringBoot 整合 Gson、FastJson_第16张图片
所以我们将实体 sex 属性的修饰符改为 protected ,在JsonConfig中加入如下内容SpringBoot 整合 Gson、FastJson_第17张图片
没加之前跟上面的一样,加了之后,如下,结果性别没有了
SpringBoot 整合 Gson、FastJson_第18张图片

3… Soringboot 整合FastJson
Fastjson 是 阿里巴巴 的一个开源的 JSON 解析框架 ,号称业内解析 JSON 最快的开源框架
把gson 依赖 去掉 添加 fastjson依赖,
SpringBoot 整合 Gson、FastJson_第19张图片
不好的是SpringBoot 中并没有提供这种 HttpMessageConverter消息转换器 ,所以依赖后不能像前两个一样即用,建一个MyFastConfig 类 ,设置日期格式,编码格式,输出类名 、Map key value 中 value 为null的值 等
SpringBoot 整合 Gson、FastJson_第20张图片
配置号上面后还有设置一下响应编码
SpringBoot 整合 Gson、FastJson_第21张图片
启动后 访问 ,输出了类名
SpringBoot 整合 Gson、FastJson_第22张图片
jason-databind,gson,fastjson 学习至此,感谢阅读本文。

你可能感兴趣的:(SpringBoot 整合 Gson、FastJson)