likes
comments
collection
share

Fastjson的基本用法

作者站长头像
站长
· 阅读数 17

Fastjson是一个快速、高效的Java JSON处理库,广泛应用于Java Web开发中。它提供了一组简单易用的API,使得开发人员可以方便地将Java对象序列化成JSON格式数据,或将JSON格式数据反序列化为Java对象。本篇博客将介绍Fastjson的基本使用,包括JSON.toJSONString、JSON.parseObject、JSON.parseArray、JSON.parseObject等方法。

JSON.toJSONString

JSON.toJSONString是Fastjson提供的将Java对象序列化为JSON字符串的方法。使用该方法,我们可以将Java对象快速转换为JSON格式,以便于在网络传输、存储等场景中使用。以下是JSON.toJSONString的基本用法:

public class User {
    private String name;
    private int age;
    // getters and setters
}
User user = new User();
user.setName("张三");
user.setAge(20);
String jsonStr = JSON.toJSONString(user);
System.out.println(jsonStr); // 输出: {"name":"张三","age":20}

在上述代码中,我们首先定义了一个User类,并设置了其name和age属性。然后,我们使用JSON.toJSONString将user对象序列化为一个JSON字符串,并输出该字符串。在输出结果中,我们可以看到该JSON字符串包含了"name"和"age"两个属性,其值分别为"张三"和20。

JSON.parseObject

JSON.parseObject是Fastjson提供的将JSON字符串反序列化为Java对象的方法。使用该方法,我们可以将JSON字符串快速转换为Java对象,以便于在Java程序中使用。以下是JSON.parseObject的基本用法:

String jsonStr = "{"name":"张三","age":20}";
User user = JSON.parseObject(jsonStr, User.class);
System.out.println(user.getName()); // 输出: 张三
System.out.println(user.getAge()); // 输出: 20

在上述代码中,我们首先定义了一个jsonStr字符串,该字符串是一个包含"name"和"age"两个属性的JSON字符串。然后,我们使用JSON.parseObject将该字符串反序列化为一个User对象,并输出其name和age属性。在输出结果中,我们可以看到该User对象的name属性为"张三",age属性为20。

JSON.parseArray

JSON.parseArray是Fastjson提供的将JSON字符串反序列化为Java数组或集合的方法。使用该方法,我们可以将JSON字符串快速转换为Java数组或集合,以便于在Java程序中使用。以下是JSON.parseArray的基本用法:

String jsonStr = "[{"name":"张三","age":20},{"name":"李四","age":21}]";
List<User> userList = JSON.parseArray(jsonStr, User.class);
for (User user : userList) {
    System.out.println(user.getName() + " " + user.getAge());
}
// 输出:
// 张三 20
// 李四 21

在上述代码中,我们首先定义了一个jsonStr字符串,该字符串是一个包含两个User对象的JSON数组。然后,我们使用JSON.parseArray将该字符串反序列化为一个List对象,并输出其包含的所有User对象

JSON.parseObject(String text, TypeReference type)

JSON.parseObject还提供了另一个重载方法,它可以将JSON字符串反序列化为复杂类型的Java对象。该方法接受两个参数:要反序列化的JSON字符串和一个TypeReference对象。TypeReference对象是一个泛型类,它提供了对Java类型的泛型描述。以下是JSON.parseObject的复杂类型使用示例:

String jsonStr = "{"name":"张三","hobbies":["篮球","音乐"]}";
User user = JSON.parseObject(jsonStr, new TypeReference<User>() {});
System.out.println(user.getName()); // 输出: 张三
System.out.println(user.getHobbies().get(0)); // 输出: 篮球
System.out.println(user.getHobbies().get(1)); // 输出: 音乐

在上述代码中,我们首先定义了一个jsonStr字符串,该字符串是一个包含"hobbies"属性的JSON字符串。然后,我们定义了一个TypeReference对象,用于描述要反序列化的Java类型。最后,我们使用JSON.parseObject将该字符串反序列化为一个User对象,并输出其属性值。在输出结果中,我们可以看到该User对象的name属性为"张三",hobbies属性为一个包含"篮球"和"音乐"两个元素的List对象。

总结

Fastjson是一个高效、快速的Java JSON处理库,它提供了一组简单易用的API,可以方便地将Java对象序列化为JSON格式数据,或将JSON格式数据反序列化为Java对象。本文介绍了Fastjson的基本用法,包括JSON.toJSONString、JSON.parseObject、JSON.parseArray、JSON.parseObject等方法。希望本文能帮助读者更好地理解Fastjson的使用方法。

转载自:https://juejin.cn/post/7233572338968182839
评论
请登录