1. 使用 Jackson 库
a. 将 Java 对象转为 JSON 字符串
import com.fasterxml.jackson.databind.ObjectMapper;
public class Main {
public static void main(String[] args) throws Exception {
Person person = new Person("John", 30);
// 创建 ObjectMapper 对象
ObjectMapper objectMapper = new ObjectMapper();
// Java 对象转 JSON 字符串
String jsonString = objectMapper.writeValueAsString(person);
System.out.println(jsonString);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getter 和 setter 方法
}
b. 将 JSON 字符串转为 Java 对象
import com.fasterxml.jackson.databind.ObjectMapper;
public class Main {
public static void main(String[] args) throws Exception {
String jsonString = "{\"name\":\"John\",\"age\":30}";
// 创建 ObjectMapper 对象
ObjectMapper objectMapper = new ObjectMapper();
// JSON 字符串转 Java 对象
Person person = objectMapper.readValue(jsonString, Person.class);
System.out.println(person.getName());
System.out.println(person.getAge());
}
}
class Person {
private String name;
private int age;
// getter 和 setter 方法
}
2. 使用 Gson 库
a. 将 Java 对象转为 JSON 字符串
import com.google.gson.Gson;
public class Main {
public static void main(String[] args) {
Person person = new Person("John", 30);
// 创建 Gson 对象
Gson gson = new Gson();
// Java 对象转 JSON 字符串
String jsonString = gson.toJson(person);
System.out.println(jsonString);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getter 和 setter 方法
}
b. 将 JSON 字符串转为 Java 对象
import com.google.gson.Gson;
public class Main {
public static void main(String[] args) {
String jsonString = "{\"name\":\"John\",\"age\":30}";
// 创建 Gson 对象
Gson gson = new Gson();
// JSON 字符串转 Java 对象
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;
// getter 和 setter 方法
}
3、总结
- Jackson 和 Gson 都是非常流行的 Java 库,用于处理 JSON 数据。
- Jackson 在性能和功能上相对更为丰富,而 Gson 简单易用。