FastJson详解 与 使用
7.1 JSON.toJSONString(Object object)
7.2 JSON.parseObject(String text, Class clazz)
7.3 JSON.parseArray(String text, Class clazz)
7.4 JSON.toJavaObject(JSONObject jsonObject, Class clazz)
🎈边走、边悟🎈迟早会好 |
Fastjson
是阿里巴巴开源的一个高性能 Java JSON 处理库,广泛应用于 Java 开发中。它提供了序列化(将 Java 对象转换为 JSON 字符串)和反序列化(将 JSON 字符串转换为 Java 对象)的功能。与其他 JSON 处理库相比,Fastjson
以其速度快、使用简单、功能强大而著称。
1. Fastjson 的主要功能
- 序列化和反序列化:将 Java 对象转换为 JSON 字符串,或者将 JSON 字符串转换为 Java 对象。
- 支持泛型:能够处理泛型数据类型的序列化和反序列化。
- JSONPath 支持:类似于 XPath 的语法,可以方便地查询 JSON 数据。
- 注解支持:支持通过注解自定义序列化和反序列化行为。
2. 快速开始
要使用 Fastjson
,首先需要在项目中添加 Maven 依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
2.1 对象与 JSON 字符串的转换
序列化:将 Java 对象转换为 JSON 字符串
import com.alibaba.fastjson.JSON;
public class FastjsonExample {
public static void main(String[] args) {
User user = new User();
user.setId(1);
user.setName("John Doe");
// 序列化
String jsonString = JSON.toJSONString(user);
System.out.println(jsonString); // 输出:{"id":1,"name":"John Doe"}
}
}
class User {
private int id;
private String name;
// getter 和 setter 方法
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
反序列化:将 JSON 字符串转换为 Java 对象
import com.alibaba.fastjson.JSON;
public class FastjsonExample {
public static void main(String[] args) {
String jsonString = "{\"id\":1,\"name\":\"John Doe\"}";
// 反序列化
User user = JSON.parseObject(jsonString, User.class);
System.out.println(user.getName()); // 输出:John Doe
}
}
2.2 List 与 JSON 字符串的转换
序列化:将 List
转换为 JSON 字符串
import com.alibaba.fastjson.JSON;
import java.util.ArrayList;
import java.util.List;
public class FastjsonExample {
public static void main(String[] args) {
List<User> users = new ArrayList<>();
users.add(new User(1, "John Doe"));
users.add(new User(2, "Jane Doe"));
// 序列化
String jsonString = JSON.toJSONString(users);
System.out.println(jsonString); // 输出:[{"id":1,"name":"John Doe"},{"id":2,"name":"Jane Doe"}]
}
}
反序列化:将 JSON 字符串转换为 List