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官网地址

相关文章
相关标签/搜索