GSON是Google針對(duì)Java語(yǔ)言開發(fā)的一個(gè)Json解析庫(kù),它可以方便地將Java對(duì)象轉(zhuǎn)換成Json格式或?qū)son格式轉(zhuǎn)換成Java對(duì)象。其中map也是GSON中比較常用的數(shù)據(jù)結(jié)構(gòu)之一,并且可以輕松地將Map轉(zhuǎn)換成Json格式數(shù)據(jù)。
GSON中的Map類型是一個(gè)鍵值對(duì)結(jié)構(gòu),其中鍵必須為String類型,而值可以是任意的基本類型或者對(duì)象。例如,下面的代碼演示了如何將一個(gè)Map轉(zhuǎn)換成Json格式的字符串:
Map<String, Object> map = new HashMap<>(); map.put("name", "張三"); map.put("age", 18); map.put("gender", "male"); String json = new Gson().toJson(map); System.out.println(json);
運(yùn)行上面的代碼,將會(huì)輸出如下的Json字符串:
{"age":18,"gender":"male","name":"張三"}
同樣,我們也可以將一個(gè)Json格式的字符串轉(zhuǎn)換成Map對(duì)象,如下:
String json = "{\"age\":18,\"gender\":\"male\",\"name\":\"張三\"}"; Type type = new TypeToken<HashMap<String, Object>>(){}.getType(); Map<String, Object> map = new Gson().fromJson(json, type); System.out.println(map);
在上面的代碼中,首先我們將Json字符串轉(zhuǎn)換成了一個(gè)HashMap對(duì)象,其中type表示了需要轉(zhuǎn)換成的具體類型。執(zhí)行上面的代碼,將會(huì)輸出如下的Map對(duì)象:
{name=張三, age=18, gender=male}
通過以上的代碼可以看出,GSON非常方便地支持了HashMap和Json之間的相互轉(zhuǎn)換。此外,GSON還支持其他類型的Map,如LinkedHashMap等。