JSON是一種常用的數(shù)據(jù)格式,它由鍵值對(duì)組成,類似于JavaScript對(duì)象。如果我們需要將JSON轉(zhuǎn)換成Java中的Map,可以使用Java中的JSON庫(kù)如Jackson和Gson來(lái)實(shí)現(xiàn)。
//使用Jackson將JSON轉(zhuǎn)換為Map
ObjectMapper mapper = new ObjectMapper(); //創(chuàng)建ObjectMapper對(duì)象
String jsonStr = "{\"name\":\"Tom\",\"age\":18}"; //JSON字符串
TypeReference<Map<String, Object>> typeRef
= new TypeReference<Map<String, Object>>() { };
Map<String, Object> map = mapper.readValue(jsonStr, typeRef); //轉(zhuǎn)換
//使用Gson將JSON轉(zhuǎn)換為Map
Gson gson = new Gson(); //創(chuàng)建Gson對(duì)象
String jsonStr = "{\"name\":\"Tom\",\"age\":18}"; //JSON字符串
java.lang.reflect.Type type = new TypeToken<Map<String, Object>>() {}.getType();
Map<String, Object> map = gson.fromJson(jsonStr, type); //轉(zhuǎn)換
以上兩段代碼分別使用了Jackson和Gson將JSON轉(zhuǎn)換為Map,其中Jackson使用ObjectMapper類的readValue()方法進(jìn)行轉(zhuǎn)換,將JSON字符串作為第一個(gè)參數(shù)傳入,將結(jié)果轉(zhuǎn)換為TypeReference<Map<String, Object>>類型的對(duì)象;Gson使用fromJson()方法進(jìn)行轉(zhuǎn)換,將JSON字符串作為第一個(gè)參數(shù)傳入,將結(jié)果轉(zhuǎn)換為TypeToken<Map<String, Object>>類型的對(duì)象。兩種方法的轉(zhuǎn)換結(jié)果都是Map<String, Object>類型的對(duì)象,其中鍵值對(duì)的鍵為String類型,值為Object類型。