Gson 解析 JSON 數(shù)據(jù)在 Android 開發(fā)中相當(dāng)常見,而泛型類又是我們經(jīng)常會使用到的概念。本文將介紹如何使用 Gson 解析 JSON 數(shù)據(jù)時應(yīng)用泛型類。
首先,在 Gson 中,我們可以通過以下代碼獲取一個 Gson 實例:
Gson gson = new Gson();
接下來,我們假設(shè),我們需要解析的 JSON 數(shù)據(jù)為:
{ "name": "Tom", "age": 18, "gender": "male" }
而對應(yīng)的 Java 類為:
public class User { private String name; private int age; private String gender; // 省略 getter 和 setter 方法 }
如果我們需要解析一個 User 類型的 JSON 數(shù)據(jù),則可以使用以下代碼:
String jsonData = "{...}"; // JSON 數(shù)據(jù) User user = gson.fromJson(jsonData, User.class);
但是,如果我們需要解析的 JSON 數(shù)據(jù)是一個數(shù)組呢?比如:
[ { "name": "Tom", "age": 18, "gender": "male" }, { "name": "Lucy", "age": 20, "gender": "female" } ]
對應(yīng)的 Java 類為:
public class UserList { private List<User> users; // 省略 getter 和 setter 方法 }
這時,我們需要使用 Gson 的 TypeToken 類來解析泛型類:
String jsonData = "[...]"; // JSON 數(shù)據(jù) Type userListType = new TypeToken<UserList>(){}.getType(); // 獲取 UserList 類型 UserList userList = gson.fromJson(jsonData, userListType); // 解析
注意,TypeToken 類的語法比較奇特。我們需要創(chuàng)建一個匿名子類,以便獲取泛型的類型。
以上就是關(guān)于 Gson 解析 JSON 泛型類的使用介紹。在實際開發(fā)中,我們需要根據(jù)實際情況來決定是否使用泛型類來解析 JSON 數(shù)據(jù)。
下一篇vue img路由