json 四大類庫

1. JSON工具包html

  A. 四大JSON類庫:Google公司的Gson、阿里巴巴的FastJson、Jackson、Json-lib;java

  B. 字符串解析成javaBean或JSON——當數據量較少時選擇FastJson,數據量較大時選擇Jackson、JavaBean變成JSON——當數據量較少時選擇Gson,數據量較大時選擇Jackson、集合變成JSON——首選Jackson,其次Fastjson;git

2. Jackson介紹 github

  第1、Jackson爲處理JSON格式提供了三種模型的處理方法,流式API、樹模型、數據綁定。json

  第2、經常使用註解以下工具

  A. @JsonIgnore:用在字段或方法上,表示忽略該字段或方法對應的屬性;spa

    /**
     * 插件版本
     */
    @JsonIgnore -->忽略響應結果的某個屬性 private String versionNumber;

  B. @JsonIgnoreProperties:用在類上,表示某些屬性在序列化、反序列化時須要忽略掉,相似於@JsonIgnore的批量操做,還有一個重要做用是在反序列化解析字段時過濾一些未知的屬性,以防止報錯;.net

public abstract class AbstractPageEntity extends AbstractEntity{
protected int pageIndex = 1;
protected int pageSize = 15;
}
@JsonIgnoreProperties({"pageIndex", "pageSize"}) -->忽略響應結果的屬性集合 public class Upgrade extends AbstractPageEntity {
    ...
}

@JsonIgnoreProperties(ignoreUnknown = true) -->過濾掉請求參數的未知屬性
public class Device {
  ...
}

   C.  @JsonProperty:用在字段或方法上,可用來對屬性序列化、反序列化,可實現屬性重命名,也可避免遺漏屬性;插件

@JsonProperty("MAC")
private String mac;

  D.  @JsonFormat:用在字段或方法上,把Date類型直接轉化爲想要的格式;code

  /**
     * 建立時間
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

 

可參考:JSON類庫的技術比較

    Jackson經常使用註解

    SpringBoot Jackson配置

    Fastjson官網地址

相關文章
相關標籤/搜索