对序列化的理解

94 阅读1分钟

序列化:将结构数据对象转换成能够被存储和传输的格式,同时要保证这个序列化结果在之后能够被重建即反序列化回原来的结构数据或对象(重建可能会在其他语言或平台中重建)。

序列化的目的:就是为了数据传输(通信)、数据存储。

关键点序列化后的格式必须和语言、平台无关,在任何语言或平台的序列化结果,必须能在其他语言或平台中反序列化,否则不是一个好的序列化方式,不能用于数据传输、存储。比如,在Java程序中将一个对象序列化后传给C或Go程序,如果在C或Go中无法被反序列化,那么这个格式显然不适合用于数据传输、存储,因为不能跨语言、跨平台。

总结:序列化后的结果必须和语言、平台无关,才适用于数据通信、数据存储。

JSON、XML和ProtoBuf都满足。

参考文章: tech.meituan.com/2015/02/26/…