Fastjson 是阿里巴巴開源的一款 Java 解析 JSON 的高性能庫。它在解析 JSON 數(shù)據(jù)的同時,還支持對象與 JSON 的相互轉換。
使用 Fastjson 解析 JSON 數(shù)據(jù)非常簡單。以下是一個解析 JSON 字符串的示例:
String jsonStr = "{\\"name\\":\\"張三\\", \\"age\\": 18}"; JSONObject jsonObj = JSON.parseObject(jsonStr); String name = jsonObj.getString("name"); int age = jsonObj.getIntValue("age");
上面的代碼將 JSON 字符串解析成為一個 JSONObject 對象,然后通過不同的方法獲取到其中的數(shù)據(jù)。其中,getString 方法用于獲取字符串類型的數(shù)據(jù),getIntValue 用于獲取整型數(shù)據(jù)。
如果需要解析帶有數(shù)組的 JSON 數(shù)據(jù),可以使用 JSONArray 類型,如下所示:
String jsonStr = "{\\"name\\":\\"張三\\",\\"scores\\":[80,90,85]}"; JSONObject jsonObj = JSON.parseObject(jsonStr); String name = jsonObj.getString("name"); JSONArray scores = jsonObj.getJSONArray("scores"); for (int i = 0; i< scores.size(); i++) { int score = scores.getIntValue(i); System.out.println("成績 " + (i+1) + ":" + score); }
上面的代碼中,我們通過 getJSONArray 方法獲取到了 scores 數(shù)組,并通過 for 循環(huán)遍歷數(shù)組中的每一個元素。
除了解析 JSON 數(shù)據(jù)外,F(xiàn)astjson 還支持將 Java 對象轉換成為 JSON 字符串。示例如下:
Student student = new Student(); student.setName("張三"); student.setAge(18); String jsonObjStr = JSON.toJSONString(student);
上面的代碼中,我們創(chuàng)建了一個 Student 對象,并使用 toJSONString 方法將其轉換成為 JSON 字符串。
總而言之,F(xiàn)astjson 是一款高效、易用的 Java 解析 JSON 的庫,它支持解析與轉換,并且提供了簡便的 API,讓大家快速地處理 JSON 數(shù)據(jù)。