Json数据交换格式
1.Json格式支持
Springboot对Jackson, Gson和Jsonb三种json library提供了支持
json library | 描述 |
---|---|
Jackson | Springboot提供了jackson的自动注入,当Jackson相关的类在classpath中时,会自动配置ObjectMapper bean。 同时该library也是官方默认的json library,当我们通过maven/grade方式引入spring-boot-starter-web时,会自动将jackson相关的包引入到classpath中 |
Gson | Springboot提供了Gson的自动注入,当Gson相关的类在classpath中时,会自动配置 Gson bean |
Jsonb | Springboot提供了Jsonb的自动注入,当Jsonb相关的类在classpath中时,会自动配置Jsonb bean |
2.Springboot中使用jackson作为json数据转换library
默认情况下,Springboot默认会将jackson相关的jar包引入到classpath中,所以当我们使用@RequestMapping和@ResponseMapping注解返回数据时,默认会使用jackson相关工具类将Object对象转换成json格式字符串。
3.springboot中使用Gson进行对象与json格式数据转换
a. pom.xml文件中移除jackson向相关包的自动引入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
</dependency>
b. pom.xml中添加Json相关包的引入
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
4.springboot中使用Jsonb进行对象与json格式数据转换
a. pom.xml文件中移除jackson向相关包的自动引入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
</dependency>
b. pom.xml中添加Jsob相关包的引入
<dependency>
<groupId>org.apache.johnzon</groupId>
<artifactId>johnzon-jsonb</artifactId>
</dependency>
5.Springboot中使用FastJson
可参照SpringBoot中使用fastjson