1. 程式人生 > 實用技巧 >springboot使用gson解析返回資料

springboot使用gson解析返回資料

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;
    }
}