1. 程式人生 > 實用技巧 >【轉】GSON 完整版使用教程-原文基礎上進行補充

【轉】GSON 完整版使用教程-原文基礎上進行補充

轉載地址:https://www.jianshu.com/p/923a9fe78108

參考文件:https://blog.csdn.net/wyb112233/article/details/50179659

Gson是google推出的用於Java物件和JSON之間序列化和反序列化的公開庫。使用Gson可以使我們的JSON解析工作更加方便。

如果你還不懂得JSON是什麼,請檢視它的JSON官方文件,我覺得這是最言簡意賅的說明。

如果你想從大體上知道Gson用法而不追究細節,那麼你可以先大體的瀏覽一下Gson的官方使用者指南。它的原址在這裡Gson User Guide。如果你不喜歡看英文,我也為你提供了我的翻譯Gson使用者指南(譯)

好了,現在你大體上對JSON和Gson有個大概的瞭解了,是時候深入到細節了。本篇文章介紹Gson的基礎用法,主要分為三個部分,對映,配置和構建。

總覽

對映

該部分主要是對Java的一些主要型別的對映做了講解,包括各種集合、巢狀物件、空值等。具體檢視如下教程
Gson教程一(譯):Java-JSON的序列化和反序列化
Gson教程二(譯):巢狀物件的序列化和反序列化
Gson教程三(譯):Arrays和Lists的對映
Gson教程四(譯):Maps的對映
Gson教程五(譯):Sets的對映
Gson教程六(譯):空值的對映
放一張本部分的思維導圖,有助於學習後的記憶

上述的資料都要求構建的資料結構的名稱和Json資料名稱一致,使用 gson.fromJson(String,Object.class)的方式完成分析,但實際使用過程中還會有其他情況。比如提取幾個json檔案中的不同資料統一放在一個數據結構中。這個時候就需要使用JsonParser()將string進行一次解析,解析成GSON支援的資料結構。

JsonObject obj = new JsonParser().parse(json).getAsJsonObject();

上邊的String json的資料就會解析成由JsonArray,JsonObject等資料結構構成的新的資料結構,在將這個資料結構進行解析,提取出需要的資訊,在填充到我們的資料結構中就可以完成資料解析。

配置

該部分主要講解了兩個常用註解的作用@SerializedName和@Expose:
Gson教程七(譯):@SerializedName和@Expose
區域性思維導圖:

構建

該部分主要講解了通過GsonBuilder來為我們的Gson例項新增各種功能,使它更符合我們的需求。

Gson教程八(譯):GsonBuilder基礎以及命名策略
Gson教程九(譯):強制序列化null值
Gson教程十(譯):Exclusion Strategies
Gson教程十一(譯):輕鬆使用仁慈的Gson(容錯機制)
Gson教程十二(譯):Float和Double型別的特殊值
Gson教程十三:模型版本化、日期格式化、漂亮輸出
區域性思維導圖:

總結

本篇文章主要總結了之前的翻譯,我覺得該系列教程對Gson的用法做了詳盡的探討,而且內容對於讀者來說也很友好,非常適合Gson的學習。