软件编程
位置:首页>> 软件编程>> java编程>> SpringBoot如何使用Fastjson解析Json数据

SpringBoot如何使用Fastjson解析Json数据

作者:玉天恒  发布时间:2023-11-25 11:55:58 

标签:Spring,Boot,Fast,json,解析

方法一:

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.修改实体类


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默认的解析框架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.启动项目,在浏览器输入地址:http://localhost:8080/getUser

SpringBoot如何使用Fastjson解析Json数据

方法二:除了启动类,其余代码都和方法一一样


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

}

来源:https://www.cnblogs.com/tianhengblogs/p/9350610.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com