import pickle
#the object to serialize
example_dic={1:"6",2:"2",3:"f"}
#where the bytes after serializing end up at, wb stands for write byte
pickle_out=open("dict.pickle","wb")
#Time to dump
pickle.dump(example_dic,pickle_out)
#whatever you open, you must close
pickle_out.close()
4条答案
按热度按时间ny6fqffe1#
JSON是一种将对象编码为字符串的格式。Serialization表示将对象转换为字符串,而反序列化是其逆操作(转换字符串-〉对象)。
在传输数据或将其存储到文件中时,要求数据是字节串,但复杂对象很少采用这种格式,串行化可以将这些复杂对象转换为字节串以供此类使用,字节串传输后,接收方将不得不从字节串中恢复原始对象,这称为反序列化。
比如说,你有一个对象:
序列化为JSON会将其转换为字符串:
该字符串可以存储或通过线路发送到任何地方。然后,接收方可以反序列化该字符串以取回原始对象。
{foo: [1, 4, 7, 10], bar: "baz"}
。qv7cva1a2#
序列化和反序列化
在数据存储的上下文中,序列化(或序列化)是将数据结构或对象状态转换为可以存储(例如,在文件或内存缓冲区中)或传输(例如,通过网络连接链接)并在以后重建的格式的过程。
相反的操作是反序列化,从一系列字节中提取数据结构。
JSON
JSON(JavaScript Object Notation,JavaScript对象表示法)是一种开放标准文件格式和数据交换格式,它使用人类可读文本来存储和传输由属性值对和数组(或其他可序列化值)组成的数据对象。JSON是一种常见的数据格式,在电子数据交换中有多种用途,包括Web应用程序与服务器之间的数据交换。
JSON是一种独立于语言的数据格式。它源于JavaScript,但许多现代编程语言都包含生成和解析JSON格式数据的代码。JSON文件名使用扩展名. json。
使用Python解释
在Python中,serialization只不过是将给定的数据结构转换成它的有效JSON挂件(例如,Python的
True
将被转换成JSON的true
,而字典本身将被转换成字符串),对于deserialization来说,反之亦然。Python与JSON
通过并排比较,你可以很容易地发现Python和JSON表示之间的差异,例如,通过检查它们的布尔值,看看下表中两种上下文中使用的基本类型:
| * * 巨蟒**|* * JSON格式**|
| - ------|- ------|
|
True
|true
||
False
|false
||
None
|null
||
int
、float
|number
||
str
(带有单引号'
、双引号"
和三引号"""
)|string
(仅限双"
引号)||
dict
|object
|| x1米19英寸1x,x1米20英寸1x|
array
|代码示例
Python内置模块
json
是进行序列化和反序列化的标准方法:来源:realpython.com、geeksforgeeks.org
8i9zcol23#
在Python中,pickle模块用于序列化。因此,序列化过程在Python中称为pickle。该模块在Python标准库中可用。
PICKLE文件(可通过记事本等文本编辑器打开)包含以下内容(序列化数据):
q(KX 6qKX 2qKX平方英尺)
输出:
{1:"6",2:"2",3:"f "}
ldxq2e6h4#
分享我对这个主题的了解。
什么是序列化
Serialization
是将数据对象转换为byte stream
的过程。什么是字节流
Byte stream
只是一个二进制数据流,因为只有二进制数据可以存储或传输。什么是字节串与字节流
有时候大家也会用到
byte string
这个词,字节的字符串编码叫做byte strings
,那么它就可以解释什么是JSON了。JSON和序列化之间的关系是什么
JSON
是一种表示字节数据的字符串格式。JSON是用UTF-8编码的。因此,当我们看到人类可读的字符串时,在幕后字符串是用UTF-8编码为字节的。