Java中有很多操作JSON字符串的方式,其中最流行的是使用Google的Gson庫(kù)。
通過Gson庫(kù),我們可以輕松地將Java對(duì)象轉(zhuǎn)換為JSON字符串,并且可以將JSON字符串轉(zhuǎn)換成Java對(duì)象,從而進(jìn)行數(shù)據(jù)的讀寫操作。
下面是一個(gè)基本的使用樣例:
// 將Java對(duì)象轉(zhuǎn)換為JSON字符串 Student student = new Student("小明", 18); String jsonString = new Gson().toJson(student); System.out.println(jsonString); // 將JSON字符串轉(zhuǎn)換為Java對(duì)象 String jsonString2 = "{\"name\":\"小花\",\"age\":20}"; Student student2 = new Gson().fromJson(jsonString2, Student.class); System.out.println(student2.getName());
在上面的例子中,我們定義了一個(gè)學(xué)生類Student,將其轉(zhuǎn)換成JSON字符串,并打印輸出。然后將另一個(gè)JSON字符串轉(zhuǎn)換成Java對(duì)象,并打印輸出學(xué)生的姓名屬性。
接下來(lái)是一個(gè)稍微復(fù)雜一點(diǎn)的樣例:
// 將復(fù)雜Java對(duì)象轉(zhuǎn)換為JSON字符串 List<Student> students = new ArrayList<>(); students.add(new Student("小明", 18)); students.add(new Student("小花", 20)); Map<String, Object> map = new HashMap<>(); map.put("name", "班級(jí)1"); map.put("students", students); String jsonString3 = new Gson().toJson(map); System.out.println(jsonString3); // 將JSON字符串轉(zhuǎn)換為復(fù)雜Java對(duì)象 Type type = new TypeToken<Map<String, Object>>() {}.getType(); Map<String, Object> map2 = new Gson().fromJson(jsonString3, type); List<Student> students2 = new Gson().fromJson(new Gson().toJson(map2.get("students")), new TypeToken<List<Student>>() {}.getType()); System.out.println(students2.get(0).getName());
上述樣例中,我們定義了一個(gè)包含學(xué)生列表的班級(jí)對(duì)象,并將其轉(zhuǎn)換成JSON字符串。然后將JSON字符串轉(zhuǎn)換成Java對(duì)象,并獲取其中的學(xué)生列表,并打印輸出其中一個(gè)學(xué)生的姓名屬性。
可以看到,使用Gson庫(kù)操作JSON字符串非常方便,是Java開發(fā)人員進(jìn)行數(shù)據(jù)讀寫操作的利器。