json序列化和反序列化的作用是什么?使用时要注意什么?

json序列化和反序列化的作用是什么?使用时要注意什么?

Java序列化是将Java对象转换为字节序列的过程,而Java反序列化是指将字节序列还原为Java对象的过程。两人的作用是什么?下面给大家讲解一下json序列化和反序列化的作用。

序列化最重要的作用是在传递和保存对象时保证对象的完整性和可转移性。对象被转换为有序的字节流,以便通过网络传输或保存在本地文件中。

反序列化最重要的作用是根据字节流中保存的对象状态和描述信息,通过反序列化重构对象。

核心功能是对象状态的保存和重构。整个流程的核心点是字节流中保存的对象状态和描述信息。

使用时要注意什么?

1.序列化时,只保存对象的状态,与对象的方法无关;

2.父类实现序列化时,子类自动实现序列化,无需显式实现Serializable接口;

3.当一个对象的实例变量引用其他对象时,该对象被序列化时,被引用的对象也被序列化;

4.并不是所有的对象都可以序列化unity 序列化什么意思,不可以的原因有很多,比如:

为了安全起见,比如一个对象有private、public等字段。对于一个要传输的对象,比如写入文件游戏动态,或者进行RMI传输等,在序列化的过程中和传输时,私有等域不受保护;

由于资源分配的原因,比如socket和线程类,如果可以序列化、传输或保存,则不能重新分配,不需要这样做;

5.声明为静态和瞬态类型的成员数据不能被序列化。因为static代表类的状态,transient代表对象的临时数据。

6.序列化运行时通过一个名为serialVersionUID的版本号与每个可序列化的类相关联,在反序列化时用来验证序列化对象的发送者和接收者是否作者加载了序列化兼容的类这个对象。给它一个明确的值。显式定义 serialVersionUID 有两个目的:

在某些情况下unity 序列化什么意思,一个类的不同版本期望被序列化兼容,因此需要保证一个类的不同版本具有相同的serialVersionUID;

在某些情况下,您不希望一个类的不同版本被序列化兼容,因此您需要确保一个类的不同版本具有不同的serialVersionUID。

7.Java有很多基础类实现了可序列化接口,如String、Vector等,但也有一些没有实现可序列化接口的;

8.如果一个对象的成员变量是一个对象,那么这个对象的数据成员也会被保存!这是序列化可以用来解决深拷贝的一个重要原因;

Json序列化和反序列化的核心功能是对象状态的保存和重构。在使用的过程中一定要注意它的使用,才能更好的开发!最后,如果想了解更多关于json工具的教程知识,请关注QIQ工具网。