Gson是一個(gè)Google提供的Java library,主要用于將JSON數(shù)據(jù)與Java對(duì)象之間進(jìn)行序列化和反序列化。在我們處理JSON數(shù)據(jù)時(shí),有時(shí)候我們需要獲取JSON對(duì)象中某一指定key的值,那么使用Gson可以很方便地實(shí)現(xiàn)這個(gè)功能。
假設(shè)我們有一個(gè)JSON對(duì)象數(shù)據(jù):
{ "name":"Tom", "age":18, "hobbies":["reading","running","swimming"], "address":{ "province":"Beijing", "city":"Beijing" } }
現(xiàn)在我們要獲取其中name的值,可以通過(guò)Gson的JsonParser類來(lái)解析JSON數(shù)據(jù):
String jsonStr = "{\"name\":\"Tom\",\"age\":18,\"hobbies\":[\"reading\",\"running\",\"swimming\"],\"address\":{\"province\":\"Beijing\",\"city\":\"Beijing\"}}"; JsonElement element = JsonParser.parseString(jsonStr); JsonObject jsonObj = element.getAsJsonObject(); String name = jsonObj.get("name").getAsString(); System.out.println(name); //輸出:Tom
首先需要將JSON字符串解析為JsonElement對(duì)象,然后通過(guò)getAsJsonObject()方法轉(zhuǎn)換為JsonObject對(duì)象,最后即可使用get()方法獲取指定的key對(duì)于的value,并通過(guò)getAsString()方法將其轉(zhuǎn)換為String類型。
同樣地,我們也可以通過(guò)get()方法獲取JSONArray或JSONObject中的值,代碼如下:
//獲取hobbies數(shù)組中第一個(gè)元素 JsonArray hobbies = jsonObj.get("hobbies").getAsJsonArray(); String firstHobby = hobbies.get(0).getAsString(); System.out.println(firstHobby); //輸出:reading //獲取address對(duì)象中的city值 JsonObject address = jsonObj.get("address").getAsJsonObject(); String city = address.get("city").getAsString(); System.out.println(city); //輸出:Beijing
以上就是使用Gson獲取JSON對(duì)象中指定key的值的方法,通過(guò)這種方式可以更加靈活地處理JSON數(shù)據(jù)。
上一篇html定義字體代碼
下一篇python 彈框斷言