SpringBoot Json框架 -- Jackson返回结果处理

Posted platycoden

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot Json框架 -- Jackson返回结果处理相关的知识,希望对你有一定的参考价值。

一、常用框架 阿里 fastjson,谷歌gson等
JavaBean序列化为Json,性能:Jackson > FastJson > Gson > Json-lib 同个结构
Jackson、FastJson、Gson类库各有优点,各有自己的专长(空间换时间,时间换空间)

 

二、jackson相关自动处理

指定字段不返回:@JsonIgnore
指定日期格式:@JsonFormat(pattern="yyyy-MM-dd hh:mm:ss",locale="zh",timezone="GMT+8")
空字段不返回:@JsonInclude(Include.NON_NUll)
指定别名:@JsonProperty

 

例如:返回User类

 1    /**
 2      * 功能描述:bean对象传参
 3      * 注意:1、注意需要指定http头为 content-type为application/json
 4      *         2、使用body传输数据
 5      * @param user
 6      * @return
 7      */
 8     @RequestMapping("/v1/save_user")
 9     public Object saveUser(@RequestBody User user){
10         params.clear();
11         params.put("user", user);
12         return params;    
13     }
14     

User类

 1 public class User {
 2 
 3     private int age;
 4     
 5     @JsonIgnore
 6     private String pwd; //忽略不返回
 7     
 8     @JsonProperty("account") 
 9     @JsonInclude(Include.NON_NULL)
10     private String phone; //别名+为空不返回
11     
12     @JsonFormat(pattern="yyyy-MM-dd hh:mm:ss",locale="zh",timezone="GMT+8")
13     private Date createTime; //时间格式
14 
15     public Date getCreateTime() {
16         return createTime;
17     }
18 
19     public void setCreateTime(Date createTime) {
20         this.createTime = createTime;
21     }
22 
23     public int getAge() {
24         return age;
25     }
26 
27     public void setAge(int age) {
28         this.age = age;
29     }
30 
31     public String getPwd() {
32         return pwd;
33     }
34 
35     public void setPwd(String pwd) {
36         this.pwd = pwd;
37     }
38 
39     public String getPhone() {
40         return phone;
41     }
42 
43     public void setPhone(String phone) {
44         this.phone = phone;
45     }
46 
47     public User() {
48         super();
49     }
50 
51     public User(int age, String pwd, String phone, Date createTime) {
52         super();
53         this.age = age;
54         this.pwd = pwd;
55         this.createTime = createTime;
56     }
57     
58 }

 






以上是关于SpringBoot Json框架 -- Jackson返回结果处理的主要内容,如果未能解决你的问题,请参考以下文章

Springboot 修改配置json解析

Springboot 修改配置json解析

jac(jinja-assets-compressor)在 AWS elasticbeanstalk 上的烧瓶应用程序中不起作用

SpringBoot 03_利用FastJson返回Json数据

springmvc 枚举类转json

[SprigMVC/SpringBoot] JSON序列化专题之日期序列化问题:接口报Jackson框架错误“InvalidDefinitionException: Java 8 date/time