java 中的 Json 模塊怎么使用?
在 Java 中,有很多 Json 庫可供使用,比如 Jackson、Gson 等。這些庫都提供了將 Java 對(duì)象序列化為 Json 字符串和將 Json 字符串反序列化為 Java 對(duì)象的方法。下面以 Jackson 為例介紹 Json 的使用方法:
首先,需要在項(xiàng)目中引入 Jackson 的依賴。如果是使用 Maven,可以在 pom.xml 文件中添加以下依賴:
<dependency>
? ?<groupId>com.fasterxml.jackson.core</groupId>
? ?<artifactId>jackson-core</artifactId>
? ?<version>2.12.4</version></dependency><dependency>
? ?<groupId>com.fasterxml.jackson.core</groupId>
? ?<artifactId>jackson-databind</artifactId>
? ?<version>2.12.4</version></dependency>
接下來,就可以使用 Jackson 進(jìn)行 Json 的序列化和反序列化了。以序列化為例,假設(shè)有一個(gè)名為 Person 的類:
public class Person {
? ?private String name;
? ?private int age;
? ?public Person(String name, int age) {
? ? ? ?this.name = name;
? ? ? ?this.age = age;
? ?}
? ?public String getName() {
? ? ? ?return name;
? ?}
? ?public int getAge() {
? ? ? ?return age;
? ?}}
我們可以使用 Jackson 將一個(gè) Person 對(duì)象序列化為 Json 字符串:
ObjectMapper objectMapper = new ObjectMapper();Person person = new Person("Alice", 20);String json = objectMapper.writeValueAsString(person);System.out.println(json);
輸出結(jié)果為:
{"name":"Alice","age":20}
反序列化同樣也很簡單,假設(shè)有一個(gè) Json 字符串:
{"name":"Bob","age":30}
我們可以使用 Jackson 將它反序列化為一個(gè) Person 對(duì)象:
String json = "{\"name\":\"Bob\",\"age\":30}";Person person = objectMapper.readValue(json, Person.class);System.out.println(person.getName() + " " + person.getAge());
輸出結(jié)果為:
Bob 30
需要注意的是,使用 Jackson 進(jìn)行 Json 的序列化和反序列化時(shí),需要使用 ObjectMapper 對(duì)象。該對(duì)象提供了很多方法,可以自定義序列化和反序列化的行為。同時(shí),需要注意 Json 字符串的格式,比如在字符串中使用雙引號(hào)表示屬性名和屬性值,屬性名必須用雙引號(hào)括起來。