📅  最后修改于: 2023-12-03 15:09:31.730000             🧑  作者: Mango
在开发过程中,我们经常需要将从接口或文件读取的 JSON 字符串转换为 Java 对象,以便于后续处理。在 Java 中,可以使用一些库来实现这个过程。本文将介绍两种常用的方式,分别是使用 Gson 和 Jackson 库。
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 是另外一个流行的 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 文件中引入相关的类。