一、從JSON轉List
Gson是Google推出的一個用於將Java對象轉換為JSON格式,或將JSON字符串轉換為Java對象的Java libarary。在處理JSON字符串中的List時,我們可以利用Gson將其轉換為List對象進行方便的操作。
下面是一個JSON字符串:
{ "users": [ {"name": "John", "age": "30", "gender": "male"}, {"name": "Mary", "age": "25", "gender": "female"}, {"name": "Tom", "age": "40", "gender": "male"} ] }
我們可以用Gson將此JSON字符串轉換為List對象:
Gson gson = new Gson(); Type listType = new TypeToken<List<User>>(){}.getType(); List<User> userList = gson.fromJson(jsonString, listType);
上述代碼的含義是:先定義一個Gson對象,然後通過TypeToken獲取List<User>類型,接着用Gson將JSON字符串轉換為List<User>對象。
二、Gson轉List實體類
假設我們有一個實體類User:
public class User { private String name; private int age; private String gender; // getter和setter方法 }
我們可以用Gson將JSON字符串轉換為List<User>對象:
Gson gson = new Gson(); Type listType = new TypeToken<List<User>>(){}.getType(); List<User> userList = gson.fromJson(jsonString, listType);
上述代碼與前面的示例代碼類似,只不過TypeToken中的類型改為了List<User>。
三、Gson轉List對象
在某些情況下,我們需要將一個對象轉換為List對象。假設我們有一個User對象,我們可以通過以下方式將其轉換為List<User>對象:
User user = new User("Tom", 30, "male"); List<User> userList = new ArrayList<User>(); userList.add(user); Gson gson = new Gson(); Type listType = new TypeToken<List<User>>(){}.getType(); String jsonString = gson.toJson(userList, listType);
上述代碼的含義是:首先創建一個User對象,並將其添加到List<User> userList中,接着創建一個Gson對象,通過TypeToken獲取List<User>類型,最後用Gson將List<User>對象轉換為JSON字符串。
四、Gson轉List<String>
有時我們需要將一組字符串轉換為List<String>對象。下面是一個示例代碼:
String jsonString = "[\"apple\", \"banana\", \"orange\"]"; Gson gson = new Gson(); Type listType = new TypeToken<List<String>>(){}.getType(); List<String> fruitList = gson.fromJson(jsonString, listType);
上述代碼的含義是:先定義一個含有果實名稱的JSON字符串,接着創建Gson對象,通過TypeToken獲取List<String>類型,最後通過Gson將JSON字符串轉換為List<String>對象。
五、Gson轉對象
我們也可以用Gson將JSON字符串轉換為對象。假設我們有以下JSON字符串:
{"name": "Tom", "age": "30", "gender": "male"}
我們可以用以下代碼將其轉換為Java對象:
Gson gson = new Gson(); User user = gson.fromJson(jsonString, User.class);
上述代碼的含義是:首先創建一個Gson對象,接着用Gson將JSON字符串轉換為User對象。
六、Gson轉字符串
我們也可以用Gson將Java對象轉換為JSON字符串。下面是一個示例代碼:
User user = new User("Tom", 30, "male"); Gson gson = new Gson(); String jsonString = gson.toJson(user);
上述代碼的含義是:首先創建一個User對象,接着創建一個Gson對象,最後用Gson將User對象轉換為JSON字符串。
七、Gson轉Map
有時我們需要將JSON字符串轉換為Map對象。假設我們有以下JSON字符串:
{ "name": "Tom", "age": 30, "gender": "male" }
我們可以用以下代碼將其轉換為Map對象:
Gson gson = new Gson(); Type mapType = new TypeToken<Map<String,Object>>(){}.getType(); Map<String,Object> map = gson.fromJson(jsonString, mapType);
上述代碼的含義是:首先創建一個Gson對象,接着通過TypeToken獲取Map<String,Object>類型,最後用Gson將JSON字符串轉換為Map<String,Object>對象。
八、String轉Gson
我們還可以把一個字符串轉換為Gson對象。下面是一個示例代碼:
private static final String TAG = "MyActivity"; Gson gson = new Gson(); String jsonString = "{\"name\": \"Tom\", \"age\": 30, \"gender\": \"male\"}"; JsonElement jsonElement = gson.fromJson(jsonString, JsonElement.class); Log.i(TAG, "jsonElement:" + jsonElement);
上述代碼的含義是:首先創建一個Gson對象,接着創建一個JSON字符串,最後用Gson將JSON字符串轉換為JsonElement對象,並輸出到Log中。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/238598.html