JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,目前在數(shù)據(jù)交換和存儲(chǔ)過(guò)程中被廣泛應(yīng)用。Java語(yǔ)言中提供了多種JSON轉(zhuǎn)換的工具類,本文將就其中兩種主流的JSON轉(zhuǎn)換工具進(jìn)行講解。
第一種JSON轉(zhuǎn)換工具是Gson,它是Google公司開(kāi)源的JSON解析器和生成器。使用Gson進(jìn)行JSON轉(zhuǎn)換需要引入Gson jar包,并創(chuàng)建Gson對(duì)象。示例代碼如下:
Gson gson = new Gson();
String jsonStr = "{\"key\":\"value\"}";
JsonObject jsonObject = gson.fromJson(jsonStr, JsonObject.class);
System.out.println(jsonObject.get("key").getAsString());
上述代碼通過(guò)Gson將一個(gè)JSON字符串轉(zhuǎn)換成了JsonObject對(duì)象,并打印了其中的key對(duì)應(yīng)的value值。使用Gson進(jìn)行JSON轉(zhuǎn)換需要注意,需要提前定義目標(biāo)轉(zhuǎn)換類型的class對(duì)象。
第二個(gè)JSON轉(zhuǎn)換工具是Jackson,它也是一款全功能的JSON解析器和生成器,在企業(yè)級(jí)應(yīng)用中被廣泛應(yīng)用。使用Jackson進(jìn)行JSON轉(zhuǎn)換需要引入jackson-core和jackson-databind jar包,并創(chuàng)建ObjectMapper對(duì)象。示例代碼如下:
String jsonStr = "{\"key\":\"value\"}";
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = objectMapper.readTree(jsonStr);
System.out.println(jsonNode.get("key").asText());
上述代碼通過(guò)Jackson將一個(gè)JSON字符串轉(zhuǎn)換成了JsonNode對(duì)象,并打印了其中的key對(duì)應(yīng)的value值。使用Jackson進(jìn)行JSON轉(zhuǎn)換需要注意,讀取JSON字符串需要使用readTree()方法。