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); } }
|