序列化:是把对象转换为字节序列,永久存到磁盘中。在网络中传输对象也要进行序列化。
反序列化:是从磁盘中读取字节序列将它们反序列化成对象读出来。
什么是字节序列
每一个字符都有一个对应的标识,即码位,是0-1 114 111的数字(十进制),在Unicode标准中以4-6个十六进制数字表示。例如字母A的码位表示为U+0041。有了字符,计算机会把字符的码位通过某种算法转换为字节序列(二进制数据),就是我们通常所说的编码。相反,如果把字节序列通过某种算法转换为字符码位,就是常说的解码。字符串和字节序列关系总结如图1所示。
简单解释:序列化:将对象中的变量中的内容转换成字符串,并将变量与其内容对应起来;将整理好的字符串保存到文本中(进行编码操作)变为二进制的字节序列。
反序列化:将文本中二进制的字节序列通过解码操作得到字符串,然后提取相应变量对应的字符串的标识以及其内容,找到对象中对应变量并赋值内容,这样的过程为反序列化。
序列化的目的就是将对象(保存重要数据的)有规则的保存,反序列化根据这种规则在把内容重新给另外一个对象。
JSON反序列化为Python对象,
//json对象----->class对象 反序列化 from_json()
//class对象----->json对象 序列化 to_json()