SpringBoot如何使用Fastjson解析Json數(shù)據(jù)
方法一:
1.在pom.xml文件下添加依賴包
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.15</version> </dependency>
2.修改啟動文件
package myshop; import java.util.List; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.config.FastJsonConfig; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; @SpringBootApplication public class App extends WebMvcConfigurerAdapter{ @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { // TODO Auto-generated method stub super.configureMessageConverters(converters); FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fastConfig = new FastJsonConfig(); fastConfig.setSerializerFeatures(SerializerFeature.PrettyFormat); fastConverter.setFastJsonConfig(fastConfig); converters.add(fastConverter); } public static void main(String[] args) { // TODO Auto-generated method stub SpringApplication.run(App.class, args); } }
3.修改實(shí)體類
package myshop.entity; import java.util.Date; import com.alibaba.fastjson.annotation.JSONField; /** * 用戶類 * */ public class User { private int id; private String username; private String password; @JSONField(format = "yyyy-MM-dd HH-mm") private Date createTime; /** * 如果不希望返回remark信息 * serialize是否序列化 */ @JSONField(serialize = false) private String remark; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } }
4.修改控制器
package myshop.controller; import java.util.Date; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import myshop.entity.User; /** * @RestController = @Controller + @RequestBody * */ @RestController public class HelloController { /** * 建立請求映射 * */ @RequestMapping("/hello") public String hello() { return "hello"; } /** * SpringBoot默認(rèn)的解析框架Jackson * */ @RequestMapping("/getUser") public User gerUser() { User user = new User(); user.setId(1); user.setUsername("天恒"); user.setPassword("123456"); user.setCreateTime(new Date()); //此信息不會被返回 user.setRemark("這是備注信息!"); return user; } }
5.啟動項(xiàng)目,在瀏覽器輸入地址:http://localhost:8080/getUser
方法二:除了啟動類,其余代碼都和方法一一樣
package myshop; 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; @SpringBootApplication public class App { @Bean public HttpMessageConverters fastJsonHttpMessageConverter() { FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fastConfig = new FastJsonConfig(); fastConfig.setSerializerFeatures(SerializerFeature.PrettyFormat); fastConverter.setFastJsonConfig(fastConfig); HttpMessageConverter<?> converts = fastConverter; return new HttpMessageConverters(converts); } public static void main(String[] args) { // TODO Auto-generated method stub SpringApplication.run(App.class, args); } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- springboot中使用FastJson解決long類型在js中失去精度的問題
- SpringBoot整合Gson 整合Fastjson的實(shí)例詳解
- springboot中用fastjson處理返回值為null的屬性值
- 使用SpringBoot+OkHttp+fastjson實(shí)現(xiàn)Github的OAuth第三方登錄
- SpringBoot整合FastJson過程解析
- SpringBoot Redis配置Fastjson進(jìn)行序列化和反序列化實(shí)現(xiàn)
- springboot實(shí)現(xiàn)FastJson解析json數(shù)據(jù)的方法
- Spring Boot使用FastJson解析JSON數(shù)據(jù)的方法
- Spring?boot詳解fastjson過濾字段為null值如何解決
相關(guān)文章
Java訪問Hadoop分布式文件系統(tǒng)HDFS的配置說明
Hadoop的能提供高吞吐量的數(shù)據(jù)訪問,是集群式服務(wù)器的上的數(shù)據(jù)操作利器,這里就來為大家分享Java訪問Hadoop分布式文件系統(tǒng)HDFS的配置說明:2016-06-06Java基于虹軟實(shí)現(xiàn)人臉識別、人臉比對、活性檢測等
本文主要介紹了Java基于虹軟實(shí)現(xiàn)人臉識別、人臉比對、活性檢測等,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02mybatis 有時update語句執(zhí)行無效的解決方案
這篇文章主要介紹了在項(xiàng)目里mybatis有時update語句執(zhí)行無效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11Springboot hibernate envers使用過程詳解
這篇文章主要介紹了Springboot hibernate envers使用過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06SpringBoot預(yù)加載與懶加載實(shí)現(xiàn)方法超詳細(xì)講解
Spring一直被詬病啟動時間慢,可Spring/SpringBoot是輕量級的框架。因?yàn)楫?dāng)Spring項(xiàng)目越來越大的時候,在啟動時加載和初始化Bean就會變得越來越慢,很多時候我們在啟動時并不需要加載全部的Bean,在調(diào)用時再加載就行,那這就需要預(yù)加載與懶加載的功能了2022-11-11基于Java實(shí)現(xiàn)簡單的時序數(shù)據(jù)壓縮算法
這篇文章主要為大家詳細(xì)介紹了如何利用Java語言實(shí)現(xiàn)簡單易懂的時序數(shù)據(jù)壓縮算法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-06-06