📌  相关文章
📜  将 JSON 字符串转换为 JSON 对象的Java程序(1)

📅  最后修改于: 2023-12-03 15:09:31.730000             🧑  作者: Mango

将 JSON 字符串转换为 JSON 对象的Java程序

在开发过程中,我们经常需要将从接口或文件读取的 JSON 字符串转换为 Java 对象,以便于后续处理。在 Java 中,可以使用一些库来实现这个过程。本文将介绍两种常用的方式,分别是使用 Gson 和 Jackson 库。

使用 Gson 库进行转换

Gson 是 Google 提供的一个 Java 库,可以将 JSON 字符串转换为 Java 对象并将 Java 对象转换为 JSON 字符串。使用 Gson 库进行字符串转对象的代码如下:

import com.google.gson.Gson;

public class JsonToObject {
  public static void main(String[] args) {
    String jsonString = "{\"name\":\"张三\",\"age\":18,\"gender\":\"男\"}";
    Gson gson = new Gson();
    Person person = gson.fromJson(jsonString, Person.class);
    System.out.println(person.getName());
    System.out.println(person.getAge());
  }
}

class Person {
  private String name;
  private int age;
  private String gender;

  // getter 和 setter 略

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }

  public String getGender() {
    return gender;
  }

  public void setGender(String gender) {
    this.gender = gender;
  }
}

上面的代码中,首先定义了一个 JSON 字符串 jsonString,然后创建了 Gson 对象 gson,使用 gson.fromJson() 方法将 JSON 字符串转换为 Java 对象 Person。最后,我们可以通过 person.getName()person.getAge() 方法获取得到转换后的对象的属性值。

在上面的代码中,我们还需要定义一个 Person 类,并且需要在其中定义与 JSON 对象对应的属性,同时需要提供相应的 getter 和 setter 方法。

使用 Jackson 库进行转换

Jackson 是另外一个流行的 Java 库,也可以将 JSON 字符串转换为 Java 对象。使用 Jackson 库进行字符串转对象的代码如下:

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonToObject {
  public static void main(String[] args) throws Exception {
    String jsonString = "{\"name\":\"张三\",\"age\":18,\"gender\":\"男\"}";
    ObjectMapper mapper = new ObjectMapper();
    Person person = mapper.readValue(jsonString, Person.class);
    System.out.println(person.getName());
    System.out.println(person.getAge());
  }
}

class Person {
  private String name;
  private int age;
  private String gender;

  // getter 和 setter 略

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }

  public String getGender() {
    return gender;
  }

  public void setGender(String gender) {
    this.gender = gender;
  }
}

在上述代码中,我们首先定义了一个 JSON 字符串 jsonString。然后,使用 ObjectMapper 对象的 readValue() 方法将 JSON 字符串转换为 Java 对象 Person。最后,我们可以通过 person.getName()person.getAge() 方法获取得到转换后的对象的属性值。

与使用 Gson 相似,在上述代码中,我们还需要定义一个 Person 类,并且需要在其中定义与 JSON 对象对应的属性,同时需要提供相应的 getter 和 setter 方法。

总结

本文介绍了使用 Gson 和 Jackson 两个 Java 库将 JSON 字符串转换为 Java 对象的方法。在使用这些库的时候,我们需要在 Java 类中定义与 JSON 对象对应的属性,并且需要提供相应的 getter 和 setter 方法。同时,我们需要安装相关的库文件,并在 Java 文件中引入相关的类。