一句话解释Java中的序列化和反序列化

好多技术名词特别傻x,取一堆特别绕的名词,然后把人绕的云里雾里,尤其是对初学者,实际就是一句话的事儿。

实际上,什么是Java中的序列化和反序列化啊?

序列化和反序列化的本质就是将Java对象与JSON数据之间进行转换!

说白了,

反序列化:就是后端工程师,把前端扔过来的JSON报文(本质上就是一个字符串),给在接口Controller这里解析了(JSON.parseObject),然后解析成Java对象,以便去代码里去使用。

序列化:就是上面说的,这个Java对象用完了,然后还得传回给前端,那就把这个用完的Java对象(含修改),再给它拼成一个JSON报文(JSON.toJSONString)(本质上也就是一个字符串)再给它扔回去。

就这么简单的事儿。

那么看懂了就不用看下面了,下面补充个详细地说法:

序列化反序列化的本质就是将Java对象与JSON数据之间进行转换。

反序列化(Deserialization)

反序列化是将 JSON 字符串 转换回 Java 对象 的过程。

在这个过程中,JSON 字符串会被解析并映射到 Java 对象的各个属性中,重新生成一个对象。

例如,使用 Fastjson 库的JSON.parseObject()方法来将JSON字符串反序列化为Java对象。反序列化的目的是将从外部系统、文件或网络接收到的JSON数据重新转化为Java对象,以便在应用程序中处理。

String jsonString = "{ \"containerNeedList\": [ ... ] }"; // JSON 字符串

ContainerV1 container = JSON.parseObject(jsonString, ContainerV1.class); // 将 JSON 字符串反序列化为 Java 对象

序列化(Serialization)

序列化是将Java对象转换成JSON字符串的过程。

在这个过程中,Java 对象会被转换成一个JSON格式的数据,通常用于数据交换、存储或传输。

例如,使用Fastjson库的JSON.toJSONString()方法来将一个Java对象序列化成JSON字符串。序列化的目的是方便将对象的数据结构传输到其他系统、存储到文件或者数据库中,或者通过网络发送给其他客户端或服务。

ContainerV1 container = new ContainerV1();

// 设置 container 的属性...

String jsonString = JSON.toJSONString(container); // 将 container 对象序列化为JSON 字符串

总结:

序列化:将Java对象转化为JSON 字符串(或其他格式)。

反序列化:将JSON字符串转化回Java对象。

因此,序列化反序列化确实就是将Java对象和JSON数据进行相互转换的过程,通常用于数据交换和持久化。

全部评论

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务