SpringBoot------使用Fastjson解析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

 

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

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

}

 

posted @ 2018-07-22 16:38  玉天恒  阅读(205)  评论(0编辑  收藏  举报