Gson是一個用于處理JSON數據的Java庫。它能夠將一段JSON字符串轉換為Java對象,并且能夠將Java對象轉換為JSON字符串。
在Gson中,我們可以使用JsonParser來解析一段JSON字符串。JsonParser內部使用了一個Stack來存儲JSON樹的每層節點,每次遇到一個節點,就會將該節點入棧。當遇到一個結束標記時,就會將該節點與其子節點組成的樹形結構彈出棧,將其轉換成對應的Java對象。
JsonParser parser = new JsonParser(); JsonObject root = parser.parse(jsonString).getAsJsonObject(); MyObject myObject = new Gson().fromJson(root, MyObject.class);
在以上代碼中,我們通過JsonParser的parse方法將JSON字符串解析為JsonObject對象。然后我們可以使用Gson的fromJson方法將JsonObject對象轉化成我們所需要的Java對象。其中,第二個參數為我們要轉換的Java對象的類型。
Gson支持將JSON數組轉換為Java數組或List,也支持將Java數組或List轉換為JSON數組。我們可以通過以下代碼實現:
JsonParser parser = new JsonParser(); JsonArray jsonArray = parser.parse(jsonString).getAsJsonArray(); List<MyObject> myObjectList = new Gson().fromJson(jsonArray, new TypeToken<List<MyObject>>(){}.getType());
以上代碼將JSON數組轉換成了List<MyObject>對象。其中,TypeToken的泛型參數為要轉換的List<MyObject>的類型。
上一篇python 底部位置
下一篇vue 3.0 視頻