常用json框架介紹和Jackson返回結果處理


簡介:介紹常用json框架和注解的使用,自定義返回json結構和格式

1、常用框架 阿里 fastjson,谷歌gson等
JavaBean序列化為Json,性能:Jackson > FastJson > Gson > Json-lib 同個結構
Jackson、FastJson、Gson類庫各有優點,各有自己的專長
空間換時間,時間換空間

2、jackson處理相關自動
指定字段不返回:@JsonIgnore
指定日期格式:@JsonFormat(pattern="yyyy-MM-dd hh:mm:ss",locale="zh",timezone="GMT+8")
空字段不返回:@JsonInclude(Include.NON_NUll)
指定別名:@JsonProperty

實體類代碼如下:

 

public class rData {
    
    @JsonIgnore
    private String code;

    @JsonProperty(value = "agenum")
    private int age;

    @JsonFormat(pattern="yyyy-MM-dd hh:mm:ss",locale="zh",timezone="GMT+8")
    private Date createDate;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }
    
    public rData(String code, int age) {
        this.code = code;
        this.age = age;
    }

    public rData(String code, int age, Date createDate, String name) {
        this.code = code;
        this.age = age;
        this.createDate = createDate;
        this.name = name;
    }
}

 

測試類代碼:

@RestController
public class HttpController {

    @GetMapping("/testjson")
    public Object param6(){
        return new rData("jackson",1,new Date(),"lion");
    }

}

結果:

{"createDate":"2018-09-18 09:36:31","name":"lion","agenum":1}

code被忽略了,所以不顯示;age被別名代替"agenum"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM