Gson是一個用于Java對象和JSON數據互相轉換的Java庫。它將Java對象轉換成相應的JSON表示形式,也可以將JSON字符串轉換成Java對象。它可以用于處理任何類型的Java對象,包括集合、數組、自定義對象等。
使用Gson將Java對象轉換成相應的JSON字符串非常簡單。下面是一個基本的例子:
//創建一個Java Map對象 Mapmap = new HashMap<>(); map.put("name", "Tom"); map.put("age", 20); //將Java對象轉換成JSON字符串 Gson gson = new Gson(); String json = gson.toJson(map); //輸出JSON字符串 System.out.println(json);
運行以上代碼,會輸出以下JSON字符串:
{"name":"Tom","age":20}
使用Gson將Java對象轉換成JSON字符串的過程很簡單:先創建一個Gson對象,然后調用toJson()方法將Java對象轉換成JSON字符串。
如果要將JSON字符串轉換成Java對象,也很簡單。下面是一個基本的例子:
//創建一個JSON字符串 String json = "{\"name\":\"Tom\",\"age\":20}"; //將JSON字符串轉換成Java對象 Gson gson = new Gson(); Mapmap = gson.fromJson(json, new TypeToken<Map<String, Object>>() {}.getType()); //輸出Java對象 System.out.println(map);
運行以上代碼,會輸出以下Java對象:
{name=Tom, age=20}
使用Gson將JSON字符串轉換成Java對象的過程跟將Java對象轉換成JSON字符串的過程類似:先創建一個Gson對象,然后調用fromJson()方法將JSON字符串轉換成Java對象。由于Gson無法識別泛型類型,所以在例子中需要使用TypeToken類來告訴Gson要轉換的類型。
Gson還支持很多高級特性,比如自定義序列化和反序列化器、排除特定字段、處理指定字段,以及日期格式化等。如果想要深入了解Gson的更多特性,可以參考官方文檔。