一、從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-hk/n/238598.html
微信掃一掃
支付寶掃一掃