Java---序列化

将java对象保存在文件中或者在网络中传输java对象,都需要用到序列化。
序列化 : 将数据结构或对象转换成二进制字节流的过程
反序列化 :将在序列化过程中所生成的二进制字节流转换成数据结构或者对象的过程

serialVersionUID作用于版本控制。反序列化时,会检查serialVersionUID是否和当前类的serialVersionUID一致。如果serialVersionUID不一致则会抛出 InvalidClassException 异常。对于不想进行序列化的变量,可以使用 transient 关键字修饰。

一般使用比较多的是fastjson,一些相关指令:

//java对象转json字符串
String s= JSON.toJSONString(new User());
//list集合转json字符串
String s1= JSON.toJSONString(list);
//map集合转json字符串
String s2= JSON.toJSONString(map);

//反序列化
//JSON类的静态方法 parseObject
//传递要返回的JSON字符串和传递java对象的class对象
User user= JSON.parseObject(s, User.class);
//list集合反序列化
List<User> list= JSON.parseArray(s1, User.class);
//map集合反序列化,直接反序列化  map集合没有泛型  没有泛型不安全,需要转换
Map<User,User> map=JSON.parseObject(s2,new TypeReference<Map<User,User>>(){});
相关推荐
一 乐25 分钟前
英语词汇小程序小程序|英语词汇小程序系统|基于java的四六级词汇小程序设计与实现(源码+数据库+文档)
java·数据库·小程序·源码·notepad++·英语词汇
Tech_gis28 分钟前
C++ 观察者模式
开发语言·c++·观察者模式
卑微求AC28 分钟前
继电器原理及应用
c语言·开发语言·51单片机·嵌入式
曳渔35 分钟前
Java-数据结构-反射、枚举 |ू・ω・` )
java·开发语言·数据结构·算法
laocooon52385788635 分钟前
java 模拟多人聊天室,服务器与客户机
java·开发语言
风槐啊37 分钟前
六、Java 基础语法(下)
android·java·开发语言
苹果醋342 分钟前
毕业设计_基于SpringBoot+vue的社区博客系统【源码+SQL+教程+可运行】41002
java·毕业设计·博客
网安老伯1 小时前
【2024版】最新kali linux入门及常用简单工具介绍(非常详细)零基础入门到精通,收藏这一篇就够了_kalilinux
linux·运维·服务器·开发语言·web安全·网络安全·xss
冬天vs不冷1 小时前
SpringBoot基础(四):bean的多种加载方式
java·spring boot·spring
说书客啊1 小时前
计算机毕业设计 | SpringBoot+vue学生成绩管理系统教务管理系统
java·spring boot·node.js·vue·毕业设计·课程设计·教务管理系统