Gson是一個(gè)Java開源庫(kù),它可以將Java對(duì)象轉(zhuǎn)換成JSON字符串或?qū)SON字符串轉(zhuǎn)換成Java對(duì)象。其中,Gson的Map轉(zhuǎn)換成JSON字符串的功能在實(shí)際開發(fā)中十分常用。下面我們來看一下具體的操作方法。
首先,我們需要將Map轉(zhuǎn)換成Gson對(duì)象。代碼如下:
Gson gson = new Gson(); Map<String, String> map = new HashMap<>(); gson.toJson(map);
其中,Gson()
是Gson的構(gòu)造方法,Map<String, String> map
是我們需要轉(zhuǎn)換成JSON字符串的Map對(duì)象。調(diào)用gson.toJson()
方法即可將Map轉(zhuǎn)換成JSON字符串。如果需要使用GsonBuilder進(jìn)行自定義配置,我們可以使用以下代碼:
GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.setPrettyPrinting(); Gson gson = gsonBuilder.create(); Map<String, String> map = new HashMap<>(); gson.toJson(map);
以上代碼中,GsonBuilder()
是GsonBuilder的構(gòu)造方法,setPrettyPrinting()
是設(shè)置JSON字符串是否格式化的方法。在這里,我們將JSON字符串進(jìn)行了格式化,便于查看。最后,調(diào)用gsonBuilder.create()
方法創(chuàng)建Gson對(duì)象。同樣地,我們可以將自定義配置應(yīng)用于其他Gson轉(zhuǎn)換操作中。
在實(shí)際開發(fā)中,我們常用的是將Map轉(zhuǎn)換成JSON字符串,因此以上代碼已經(jīng)可以滿足我們的需求。如果需要將JSON字符串轉(zhuǎn)換成Map對(duì)象,我們可以使用以下代碼:
Gson gson = new Gson(); Map<String, String> map = new HashMap<>(); String json = gson.toJson(map); Type type = new TypeToken<Map<String, String>>(){}.getType(); Map<String, String> map2 = gson.fromJson(json, type);
以上代碼中,fromJson()
方法可以將JSON字符串轉(zhuǎn)換成Java對(duì)象。其中,type
參數(shù)是由TypeToken
獲取的。由于Java的泛型擦除問題,我們需要使用TypeToken來獲取具體的類型。以上代碼便可以將JSON字符串轉(zhuǎn)換成Map對(duì)象。