Fastjson简单介绍
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用独创的算法,将解析的速度提升到极致,超过所有其他JSON库,包括曾经号称最快的Jackson。此外,Fastjson还超越了Google的二进制协议protocol buf。Fastjson完全支持json.org的标准,也是官方网站收录的参考实现之一。它功能强大,支持各种JDK类型,包括基本类型、JavaBean、Collection、Map、泛型等。此外,Fastjson还支持循环引用,无依赖,不需要额外的jar包,可以直接运行在JDK上。支持范围广泛,支持JDK 5、JDK 6、Android、阿里云手机等环境。它是一个高性能、功能完善库,为开发者提供了快速、方便的JSON处理功能。
Fastjson主要实现类
1. fastjson.JSON:这是一个工具类,提供了许多静态方法来处理 JSON 数据,包括序列化和反序列化。
2. fastjson.JSONArray:这是一个表示 JSON 数组的类。它提供了用于操作数组元素的方法,如添加、删除和获取元素。
3. fastjson.JSONObject:这是一个表示 JSON 对象的类。它提供了用于操作对象属性和值的方法,如设置、获取和删除属性。
4. fastjson.JSONStreamAware:用于将 Java 对象写入 JSON 流或将 JSON 数据从流中读取到 Java 对象。
Fastjson所需依赖
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.43</version>
</dependency>
Fastjson主要用法
1.JSON.toJSONString()
方法可以将 Java 对象转换为 JSON 字符串。
import com.alibaba.fastjson.JSON;
public class User {
private String name;
private int age;
// getters and setters
public static void main(String[] args) {
User user = new User();
user.setName("John");
user.setAge(30);
String jsonString = JSON.toJSONString(user);
System.out.println(jsonString); // 输出: {"name":"John","age":30}
}
}
2.
JSON.parseObject()
方法可以将 JSON 字符串转换为 Java 对象。
import com.alibaba.fastjson.JSON;
public class User {
private String name;
private int age;
// getters and setters
public static void main(String[] args) {
String jsonString = "{\"name\":\"John\",\"age\":30}";
User user = JSON.parseObject(jsonString, User.class);
System.out.println(user.getName()); // 输出: John
System.out.println(user.getAge()); // 输出: 30
}
}
3. JSON.parseArray()
将 JSON 字符串转换为 Java 列表或数组
import com.alibaba.fastjson.JSON;
import java.util.List;
public class User {
private String name;
private int age;
// getters and setters
public static void main(String[] args) {
String jsonArrayString =
"[{\"name\":\"John\",\"age\":30},{\"name\":\"Jane\",\"age\":25}]";
List<User> userList = JSON.parseArray(jsonArrayString, User.class);
for (User user : userList) {
System.out.println(user.getName() + " " + user.getAge());
}
}
}
Fastjson主要方法
1.序列化(Serialize)
toJSONString(Object val): 将 Java 对象转换为 JSON 字符串。
toJSONString(Object val, boolean prettyFormat): 将 Java 对象转换为格式化的 JSON
2.反序列化(Deserialize)
parseObject(String text, Class<T> clazz): 将 JSON 字符串转换为指定类型的 Java 对象。
parseArray(String text): 将 JSON 字符串转换为 Java 数组。
3.JSONPath 查询(高阶用法)
oJSONPath(Object val, String expr): 将 Java 对象转换为 JSONPath 表达式。
toJSONPath(Object val, String expr, boolean withPrefix): 将 Java 对象转换为 JSONPath 表达式,并可选地添加前缀。