2,返回Json

一,使用Spring Boot默认Json解析框架jackson

1,创建一个实体类Persion

package com.zh.json;
 
public class Persion {
    
    private int pid;
    private String pname;
    private int age;
    public int getPid() {
        return pid;
    }
    public void setPid(int pid) {
        this.pid = pid;
    }
    public String getPname() {
        return pname;
    }
    public void setPname(String pname) {
        this.pname = pname;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public Persion(int pid, String pname, int age) {
        super();
        this.pid = pid;
        this.pname = pname;
        this.age = age;
    }
    public Persion() {
        super();
    }
}

2,创建一个方法getPersion返回一个Persion对象

3,访问

二,使用Spring Boot使用fastjon解析Json

1,在pom.xml添加fastjon的先关依赖

<!-- 添加fastjson 依赖包. -->
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>fastjson</artifactId>
  <version>1.2.15</version>
</dependency>

2,Spring Boot支持2种配置方式使用fastjon解析Json

1)第一种方法就是:

(1)启动类继承extends WebMvcConfigurerAdapter

(2)覆盖方法configureMessageConverters

@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    super.configureMessageConverters(converters);
 
    // 1、需要先定义一个 converter 转换消息的对象;
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
 
    // 2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
 
    // 3、在convert中添加配置信息.
    fastConverter.setFastJsonConfig(fastJsonConfig);
 
    // 4、将convert添加到converters当中.
    converters.add(fastConverter);
}

(3)在Persion类中添加一个Date属性,使用fastjon格式化时间

@JSONField(format="yyyy-MM-dd HH:mm")
private Date date;
 
public Date getDate() {
    return date;
}
public void setDate(Date date) {
    this.date = date;
}

(4)启动类中创建一个getDatePersion方法,并访问

@RequestMapping("/getDatePersion")
public Persion getDatePersion(){
    Persion p = new Persion(1, "张三", 20);
    p.setDate(new Date());
    return p;
}

2)第二种方法就是:

(1)在App.java启动类中,注入Bean : HttpMessageConverters

@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
    // 1、需要先定义一个 convert 转换消息的对象;
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
 
    // 2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
 
    // 3、在convert中添加配置信息.
    fastConverter.setFastJsonConfig(fastJsonConfig);
    HttpMessageConverter<?> converter = fastConverter;
    return new HttpMessageConverters(converter);
}

2)启动类中创建一个getDatePersion2方法,并访问

posted @ 2017-06-27 14:53  Zender  阅读(425)  评论(0编辑  收藏  举报