JSON是一種常用的數(shù)據(jù)格式,它由鍵值對組成,類似于JavaScript對象。如果我們需要將JSON轉(zhuǎn)換成Java中的Map,可以使用Java中的JSON庫如Jackson和Gson來實現(xiàn)。
//使用Jackson將JSON轉(zhuǎn)換為Map
ObjectMapper mapper = new ObjectMapper(); //創(chuàng)建ObjectMapper對象
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對象
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()方法進行轉(zhuǎn)換,將JSON字符串作為第一個參數(shù)傳入,將結(jié)果轉(zhuǎn)換為TypeReference<Map<String, Object>>類型的對象;Gson使用fromJson()方法進行轉(zhuǎn)換,將JSON字符串作為第一個參數(shù)傳入,將結(jié)果轉(zhuǎn)換為TypeToken<Map<String, Object>>類型的對象。兩種方法的轉(zhuǎn)換結(jié)果都是Map<String, Object>類型的對象,其中鍵值對的鍵為String類型,值為Object類型。