Java安全-Fastjson学习

Fastjson基础

Fastjson简介

Fastjson 是 Alibaba 开发的 Java 语言编写的高性能 JSON 库,用于将数据在 json 和 Java Object 之间互相转换。

提供两个主要接口来分别实现序列化和反序列化操作

JSON.toJSONString 将 Java 对象转换为 json 对象,序列化的过程。

JSON.parseObject/JSON.parse 将 json 对象重新变回 Java 对象;反序列化的过程

Fastjson代码Demo

首先我们通过几个例子来了解一下Fastjson是如何使用的

pom.xml导入对应的依赖

1
2
3
4
5
<dependency>  
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.24</version>
</dependency>

然后我们定义一个测试用的学生类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package Fastjson;

public class Student {
private String name;
private int age;

public Student() {
System.out.println("构造函数");
}

public String getName() {
System.out.println("getName");
return name;
}

public void setName(String name) {
System.out.println("setName");
this.name = name;
}

public int getAge() {
System.out.println("getAge");
return age;
}

public void setAge(int age) {
System.out.println("setAge");
this.age = age;
}
}

调用JSON.toString来进行序列化操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package Fastjson;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;

public class StudentSerialize {
public static void main(String[] args) {
Student student=new Student();
student.setName("feng");
student.setAge(20);
String jsonString= JSON.toJSONString(student, SerializerFeature.WriteClassName);
System.out.println(jsonString);
}
}