SpringBoot如何使用Fastjson解析Json數(shù)據(jù)
方法一:
1.在pom.xml文件下添加依賴(lài)包
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.15</version></dependency>
2.修改啟動(dòng)文件
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;@SpringBootApplicationpublic 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í)體類(lèi)
package myshop.entity;import java.util.Date;import com.alibaba.fastjson.annotation.JSONField;/** * 用戶(hù)類(lèi) * */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 * */@RestControllerpublic class HelloController { /** * 建立請(qǐng)求映射 * */ @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()); //此信息不會(huì)被返回 user.setRemark('這是備注信息!'); return user; }}
5.啟動(dòng)項(xiàng)目,在瀏覽器輸入地址:http://localhost:8080/getUser
方法二:除了啟動(dòng)類(lèi),其余代碼都和方法一一樣
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;@SpringBootApplicationpublic 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); }}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Android打包篇:Android Studio將代碼打包成jar包教程2. JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis3. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)4. Springboot 全局日期格式化處理的實(shí)現(xiàn)5. vue實(shí)現(xiàn)web在線(xiàn)聊天功能6. 解決Android Studio 格式化 Format代碼快捷鍵問(wèn)題7. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問(wèn)題8. JavaScript實(shí)現(xiàn)頁(yè)面動(dòng)態(tài)驗(yàn)證碼的實(shí)現(xiàn)示例9. Python使用urlretrieve實(shí)現(xiàn)直接遠(yuǎn)程下載圖片的示例代碼10. Java使用Tesseract-Ocr識(shí)別數(shù)字
