1. 程式人生 > >78. Spring Boot完美使用FastJson解析JSON資料【從零開始學Spring Boot】

78. Spring Boot完美使用FastJson解析JSON資料【從零開始學Spring Boot】

【原創文章,轉載請註明出處】

       個人使用比較習慣的json框架是fastjson,所以spring boot預設的json使用起來就很陌生了,所以很自然我就想我能不能使用fastjson進行json解析呢?

引入fastjson依賴庫:

  <dependencies>

        <dependency>

           <groupId>com.alibaba</groupId>

           <artifactId>fastjson</artifactId>

           <

version>1.2.15</version>

    </dependency>

       這裡要說下很重要的話,官方文件說的1.2.10以後,會有兩個方法支援HttpMessageconvert,一個是FastJsonHttpMessageConverter,支援4.2以下的版本,一個是FastJsonHttpMessageConverter4支援4.2以上的版本,具體有什麼區別暫時沒有深入研究。這裡也就是說:低版本的就不支援了,所以這裡最低要求就是1.2.10+。

配置fastjon

支援兩種方法:

第一種方法就是:

(1)啟動類繼承extends WebMvcConfigurerAdapter

(2)覆蓋方法configureMessageConverters

具體程式碼如下:

/**

 *

 * @author Angel --守護天使

 * @version v.0.1

 * @date 2016729下午7:06:11

 */

@SpringBootApplication

public class ApiCoreApp  extends WebMvcConfigurerAdapter {

    @Override

    public void configureMessageConverters(List<HttpMessageConverter<?>> converters

) {

        super.configureMessageConverters(converters);

        FastJsonHttpMessageConverter fastConverter = newFastJsonHttpMessageConverter();

        FastJsonConfig fastJsonConfig = new FastJsonConfig();

        fastJsonConfig.setSerializerFeatures(

                SerializerFeature.PrettyFormat

        );

        fastConverter.setFastJsonConfig(fastJsonConfig);

        converters.add(fastConverter);

    }

}

第二種方法:

(1)在App.java啟動類中,注入Bean : HttpMessageConverters

具體程式碼如下:

package com.kfit;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.autoconfigure.web.HttpMessageConverters;

import org.springframework.context.annotation.Bean;

import org.springframework.http.converter.HttpMessageConverter;

import com.alibaba.fastjson.serializer.SerializerFeature;

import com.alibaba.fastjson.support.config.FastJsonConfig;

import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;

/**

 *

 * @author Angel --守護天使

 * @version v.0.1

 * @date 2016729下午7:06:11

 */

@SpringBootApplication

public class ApiCoreApp {

    @Bean

    public HttpMessageConverters fastJsonHttpMessageConverters() {

       FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

       FastJsonConfig fastJsonConfig = new FastJsonConfig();

       fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);

       fastConverter.setFastJsonConfig(fastJsonConfig);

       HttpMessageConverter<?> converter = fastConverter;

       return new HttpMessageConverters(converter);

    }

    public static void main(String[] args) {

       SpringApplication.run(ApiCoreApp.classargs);

    }

}

       那麼這時候在實體類中使用@JSONField(serialize=false),是不是此欄位就不返回了,如果是的話,那麼恭喜你配置成功了,其中JSONField的包路徑是:com.alibaba.fastjson.annotation.JSONField。

相關推薦

78. Spring Boot完美使用FastJson解析JSON資料開始Spring Boot

【原創文章,轉載請註明出處】        個人使用比較習慣的json框架是fastjson,所以spring boot預設的json使用起來就很陌生了,所以很自然我就想我能不能使用fastjson進行json解析呢? 引入fastjson依賴庫:   <depen

(4)Spring Boot完美使用FastJson解析JSON資料開始Spring Boot

個人使用比較習慣的json框架是fastjson,所以spring boot預設的json使用起來就很陌生了,所以很自然我就想我能不能使用fastjson進行json解析呢? 引入fastjson依賴庫:   <dependencies>         <

2. Spring Boot返回json資料開始Spring Boot

【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000

8. 使用JPA儲存資料開始Spring Boot

【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000

33. Spring Boot 監控和管理生產環境開始Spring Boot

【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000

(33)Spring Boot 監控和管理生產環境開始Spring Boot

spring-boot-actuator模組提供了一個監控和管理生產環境的模組,可以使用http、jmx、ssh、telnet等拉管理和監控應用。審計(Auditing)、 健康(health)、資料採集(metrics gathering)會自動加入到應用裡面。 首先,寫

103. Spring Boot Freemarker特別篇之contextPath開始Spring Boot

需求緣起:有人在群裡@我:請教群主大神一個問題,spring boot  + freemarker 怎麼獲取contextPath 頭疼死我了,網上沒一個靠譜的 。我就看看之前部落格中的 【Spring Boot使用模板freemarker】好像確實沒有介紹到在.ftl檔案

35. Spring Boot整合Redis實現快取機制開始Spring Boot

【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000

資料新增非同步解析重新整理大資料量redis (——)(三)Spring Boot普通類呼叫bean開始Spring Boot

部落格分類:  從零開始學Spring Boot 從零開始學Spring BootSpring Boot普通類呼叫bean    【視訊&交流平臺】 à SpringBoot視訊 http://stu

Spring Boot使用模板freemarker開始Spring Boot(轉)

dep demo attach macro 使用 doctype com 地址 2016年 視頻&交流平臺:à SpringBoot網易雲課堂視頻http://study.163.com/course/introduction.htm?courseId=10

31. Spring Boot匯入XML配置開始Spring Boot

【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000

51. spring boot屬性檔案之多環境配置開始Spring Boot

【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000

(27)Spring Boot Junit單元測試開始Spring Boot

Junit這種老技術,現在又拿出來說,不為別的,某種程度上來說,更是為了要說明它在專案中的重要性。 那麼先簡單說一下為什麼要寫測試用例 1. 可以避免測試點的遺漏,為了更好的進行測試,可以提高測試效率 2. 可以自動測試,可以在專案打包前進行測試校驗 3. 可以及時發現因為

40. springboot + devtools(熱部署)開始Spring Boot

【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000

104. Spring Boot 啟動流程分析第三篇開始Spring Boot

問題的提出:Spring Boot不像spring需要定義xml檔案檔案,那麼spring boot是如何在沒有配置檔案的情況下為我們啟動一個完整的WEB工程的呢。我們先@SpringBootApplication開始分析下這個啟動流程,原始碼取自:1.4.1.RELEAS

65.什麼是IOC?開始Spring Boot

【從零開始學習Spirng Boot—常見異常彙總】        這個小節吧,是無意當中看了一篇文章,覺得介紹的特別好,引用到我的部落格中,讓大家也樂下。那麼他是怎麼解說IOC的呢?看如下: 套用好萊塢的一句名言就是:你呆著別動,到時我會找你。  什麼意思呢?就好比一個皇帝和太監  有一天皇

41. Spring Boot 使用Java程式碼建立Bean並註冊到Spring開始Spring Boot

【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000

43. Spring Boot動態資料來源(多資料來源自動切換)開始Spring Boot

【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000

74. Spring Data JPA方法定義規範開始Spring Boot

【從零開始學習Spirng Boot—常見異常彙總】     事情的起因:有人問過我們這個這個問題:為什麼我利用Spring data jpa寫的方法沒有按照我想要的情況進行執行呢?我記得當時只是告訴他你你先看看Spring Data的命名規則吧。所以在這一小節把Spr

(19)Spring Boot 新增JSP支援開始Spring Boot

【來也匆匆,去也匆匆,在此留下您的腳印吧,轉發點贊評論;       您的認可是我最大的動力,感謝您的支援】 看完本文章您可能會有些疑問,可以檢視之後的一篇部落格: ----------------------------------------------------