springboot使用gson解析返回資料
阿新 • • 發佈:2021-01-12
1.移除預設的jackson
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <!--忽略內嵌tomcat,打包部署到tomcat。注*本地執行的時候要把這一段忽略引入個註釋掉,要不然專案啟動不了 --> <!-- <exclusion>--> <!-- <groupId>org.springframework.boot</groupId>--> <!-- <artifactId>spring-boot-starter-tomcat</artifactId>--> <!-- </exclusion>--> <!-- 去除預設的jackson --> <exclusion> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </exclusion> </exclusions> </dependency>
2.新增gson依賴
<!-- gson json解析工具類 --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.2</version> </dependency>
3.新增配置類
package com.zbbz.framework.config; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.json.GsonHttpMessageConverter; import java.lang.reflect.Modifier; /** * gson配置類 */ @Configuration public class GsonConfig { @Bean public GsonHttpMessageConverter gsonHttpMessageConverter(){ GsonHttpMessageConverter converter = new GsonHttpMessageConverter(); GsonBuilder builder = new GsonBuilder(); // 設定解析日期的格式 builder.setDateFormat("yyyy-MM-dd HH:MM:SS"); // 過濾修飾符為protected的屬性 builder.excludeFieldsWithModifiers(Modifier.PROTECTED); Gson gson = builder.create(); converter.setGson(gson); return converter; } }