1、什么是json序列化和反序列化?
json序列化:就是JavaBean对象转化为JSON格式的字符串。
反序列化:就是序列化的反方向,将字符串转化为JavaBean。
2、为什么要序列化和反序列化?
现在比较流行前后端分离的项目,前后端分离就离不开传递数据,一种好的数据表示形式让开发者和网站能轻易识别是很重要的,而这个数据表示形式就是json。这时候问题又来了,前端要json字符串,后端要javaBean对象(假设后端采用java语言)怎么办?此时就需要json的序列化和反序列化了。
3、流行的类库
json处理有三个比较流行的类库,分别是阿里巴巴开发的FastJson,谷歌开发的Gosn,和Spring Boot内置的Jackson。
4、简单的json形式
5、fastjson为例JSONFiled()注解
JSONField() 注解
@JSONField(ordinal = 1) //指定json序列化的顺序
@JSONField(serialize = false) //json序列化时忽略该字段
@JSONField(deserialize = false) //json反序列化时转成对象将忽略该字段
@JSONField(format = “yyyy-MM-dd HH:mm:ss SSS”) //时间格式转换
常用的方法
JSONObject.toJSONString(value) 将value对象转化成json字符串
JSONObject.parseObject(value,java.class) 将value转化成java对象
JSONObject.parseArray(value,java.class) 将value转化成java对象数组
如果不写java.class,只写value,会转成JSONObject字符串。
6、lombok常用注释
//@Data 生成getter,setter ,toString等函数
//@NoArgsConstructor 生成无参构造函数
//@AllArgsConstructor //生成全参数构造函数
7、代码
1)创建person类
2)创建animal类
3)创建world类
4)将list集合转化成json
5)将HashMap转化成json
6) 将两个对象封装后转化为json
摘抄自:https://blog.csdn.net/qq_42524288/article/details/113091490