com.alibaba.fastjson學習筆記

HachiLin發表於2020-11-21

1. 簡介

fastjson是由alibaba開源的一套json處理器。與其他json處理器(如Gson,Jackson等)和其他的Java物件序列化反序列化方式相比,有比較明顯的效能優勢。fastjson主要用於將Java Bean序列化為JSON字串,也可以從JSON字串反序列化到JavaBean。

2. 使用說明

2.1 配置

  • 在 maven 中央倉庫中直接下載
http://repo1.maven.org/maven2/com/alibaba/fastjson/
  • 配置maven依賴
<dependency>
    &emsp;<groupId>com.alibaba</groupId>
    &emsp;<artifactId>fastjson</artifactId>
    &emsp;<version>x.x.x</version>
</dependency>

2.2 使用

  • 序列化:Java Bean -> JSON字串
String jsonString = JSON.toJSONString(javaBean);

在SpringBoot中Java Bean會配合註解@JSONField使用。@JSONField serialize 可選項可以指定欄位不反序列化。例如:

@JSONField(name="AGE", serialize=false)
private int age;
  • 反序列化:JSON字串 -> Java Bean
Person newPerson = JSON.parseObject(jsonObject, Person.class);

@JSONField deserialize 可選項可以指定欄位不反序列化。例如:

@JSONField(name="AGE", deserialize=false)
private int age;

這時候Java Bean對應的欄位為null。

  • JSON字串 -> JSON物件
JSONObject jsonObject = JSON.parseObjec(jsonString);

3. 參考文獻

  • https://www.jianshu.com/p/eaeaa5dce258
  • https://www.runoob.com/w3cnote/fastjson-intro.html
  • https://www.cnblogs.com/li150dan/p/11016260.html