在 Java 編程中,JSON(JavaScript Object Notation)是一種常用的數(shù)據(jù)格式,常用于數(shù)據(jù)交換和存儲(chǔ)。Java 中的 JSON 轉(zhuǎn)換,可以用 JSON 庫來完成,例如 Jackson 和 Gson 等。
Jackson 是一個(gè)高效、快速和功能強(qiáng)大的 JSON 處理庫,可以將 JSON 轉(zhuǎn)換成 Java 對(duì)象,也可以將 Java 對(duì)象轉(zhuǎn)換成 JSON。例如,將一個(gè) Java 對(duì)象轉(zhuǎn)為 JSON 格式的字符串:
// 定義一個(gè) Java 對(duì)象 public class Person { private String name; private int age; // 省略 getter 和 setter 方法 } // 將 Java 對(duì)象轉(zhuǎn)換為 JSON 字符串 Person person = new Person(); person.setName("張三"); person.setAge(20); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(person); System.out.println(json);
以上代碼輸出的 JSON 字符串為:
{"name":"張三","age":20}
同樣地,也可以將一個(gè) JSON 字符串轉(zhuǎn)換為 Java 對(duì)象:
// 將 JSON 字符串轉(zhuǎn)換為 Java 對(duì)象 String json = "{\"name\":\"張三\",\"age\":20}"; Person person = mapper.readValue(json, Person.class); System.out.println(person.getName()); // 輸出:張三 System.out.println(person.getAge()); // 輸出:20
Gson 也是一款非常流行的 JSON 庫,在使用上與 Jackson 類似,但是有些細(xì)節(jié)略有不同。例如,將一個(gè) Java 對(duì)象轉(zhuǎn)為 JSON 格式的字符串:
// 將 Java 對(duì)象轉(zhuǎn)換為 JSON 字符串 Person person = new Person(); person.setName("張三"); person.setAge(20); Gson gson = new Gson(); String json = gson.toJson(person); System.out.println(json);
以上代碼輸出的 JSON 字符串與前面例子中一樣。同樣地,也可以將一個(gè) JSON 字符串轉(zhuǎn)換為 Java 對(duì)象:
// 將 JSON 字符串轉(zhuǎn)換為 Java 對(duì)象 String json = "{\"name\":\"張三\",\"age\":20}"; Person person = gson.fromJson(json, Person.class); System.out.println(person.getName()); // 輸出:張三 System.out.println(person.getAge()); // 輸出:20
綜上所述,使用 Java 進(jìn)行 JSON 轉(zhuǎn)換十分簡(jiǎn)單,只需要引入 JSON 庫并調(diào)用相應(yīng)的方法就可以實(shí)現(xiàn)。