Alibaba Fastjson 是一个 Java 语言编写的高性能功能完善的 JSON 库。它采用一种“直接反序列化”的策略,把 JSON 文本直接生成 Java 对象,或者把 Java 对象直接转换成 JSON 文本。
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
基本使用和常见用法:
将 Java 对象转换为 JSON 字符串
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
public class User {
private String name;
private int age;
// getter 和 setter 方法
}
public static void main(String[] args) {
User user = new User();
user.setName("Tom");
user.setAge(20);
String jsonString = JSON.toJSONString(user);
System.out.println(jsonString); // 输出: {"name":"Tom","age":20}
}
将 JSON 字符串转换为 Java 对象
import com.alibaba.fastjson.JSON;
public class User {
private String name;
private int age;
// getter 和 setter 方法
}
public static void main(String[] args) {
String jsonString = "{\"name\":\"Tom\",\"age\":20}";
User user = JSON.parseObject(jsonString, User.class);
System.out.println(user.getName()); // 输出: Tom
System.out.println(user.getAge()); // 输出: 20
}
处理 JSON 数组
Fastjson 同样支持处理 JSON 数组。如果你有一个 JSON 数组字符串,你可以使用 JSON.parseArray()
方法将其解析为 Java 对象的 List。
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
public class User {
private String name;
private int age;
// getter 和 setter 方法
}
public static void main(String[] args) {
String jsonArrayString = "[{\"name\":\"Tom\",\"age\":20},{\"name\":\"Jerry\",\"age\":22}]";
List<User> userList = JSON.parseArray(jsonArrayString, new TypeReference<List<User>>(){});
for (User user : userList) {
System.out.println(user.getName() + " : " + user.getAge());
}
}