com.alibaba.fastjson学习笔记
2020-11-13 本文已影响0人
HachiLin
1. 简介
fastjson是由alibaba开源的一套json处理器。与其他json处理器(如Gson,Jackson等)和其他的Java对象序列化反序列化方式相比,有比较明显的性能优势。fastjson主要用于将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
2. 使用说明
2.1 配置
- 在 maven 中央仓库中直接下载
- 配置maven依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>x.x.x</version>
</dependency>
2.2 使用
-
导入包
最常用的也就这两个:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
- 序列化:Java Bean -> JSON字符串
String jsonString = JSON.toJSONString(javaBean);
在SpringBoot中Java Bean会配合注解@JSONField使用。@JSONField serialize 可选项可以指定字段不反序列化。例如:
@JSONField(name="AGE", serialize=false)
private int age;
- 反序列化:JSON字符串 -> Java Bean
Person newPerson = JSON.parseObject(jsonObject, Person.class);
@JSONField deserialize 可选项可以指定字段不反序列化。例如:
@JSONField(name="AGE", deserialize=false)
private int age;
- Java Bean -> JSON对象
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(javaBean);
这时候Java Bean对应的字段为null。
- JSON字符串 -> JSON对象
JSONObject jsonObject = JSON.parseObjec(jsonString);
- JSON对象 -> JSON字符串
JSONObject jsonObject = new JSONObject();
String jsonString = jsonObject.toJSONString();